函数
- ES6 允许为函数的参数设置默认值
function log(x, y = 'World') {
console.log(x, y);
}
log('Hello') // Hello World
log('Hello', 'China') // Hello China
log('Hello', '') // Hello
箭头函数
在箭头函数中,this的指向是固定的,是定义时所在的对象,不是使用时所在的对象
var f = function(v) {
return v;
};
等同于
var f = v => v;
var f = function () { return 5 };
等同于
var f = () => 5
var sum = function(num1, num2) {
return num1 + num2;
};
等同于
var sum = (num1,num2) => num1+num2
// 正常函数写法
[1,2,3].map(function (x) {
return x * x;
});
// 箭头函数写法
[1,2,3].map(x => x * x);
箭头函数的上下文,并不是在调用的时候确认,而是在定义的时候就确定的。
var obj = {
"name" : "小明",
"sayhello" : () => {
console.log(this.name);
}
}
obj.sayhello(); //undefined,不能输出小明。