默认值
- ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面。
1
2
3function log(x, y = 'World') {
console.log(x, y);
}
函数的 length 属性
- 有默认值的长度不被计算且后面不管是否有默认值都忽略
- (function (a) {}).length // 1
- (function (a = 5) {}).length // 0
- (function (a, b, c = 5) {}).length // 2
作用域
- 如果x没有赋值就指向全局,赋值后指向所附的值
1
2
3
4
5function f(x, y = x) {
console.log(y);
}
f(2)
rest参数 ...不算长度
箭头函数
- 变量 = 形参 => 返回的表达式或数值
1
2
3
4
5var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2) {
return num1 + num2;
}; - this的指向:嵌套箭头函数的this最终指向最外层函数的this(因为箭头函数没有自己的this),
- 不能用call()、apply()、bind()这些方法去改变this的指向。
- 定义对象和动态this不使用箭头函数