参数的默认值
方便地设置函数参数的默认值
function print( a = 2 ){
console.log(a)
}
print() //2
1.ES6 扩展运算符…获取其余参数
可以使用…加上变量名保存其他参数全部数量。当只知道函数的前几个具体参数,不确定之后会有多少个参数传入时,可以使用…把其他传入的参数保存到一个数组中。
function print(value1, value2, ...values){
console.log(values.join('--'))
}
print(1, 2, '参数3') // 参数3
print(1, 2, '参数3', '参数4', '参数5')
// print(1, 2, '参数3', '参数4', '参数5')
2.ES6 使用箭头函数
使用箭头函数有两个好处:
代码更加简洁
静态绑定this 箭头函数中,this指向的是定义箭头函数的对象中的this。
var name = 'outer'
var obj = {
name: 'inner',
func: () => {
console.log(this.name) }
}
var obj2 = {
name: 'inner',
func: function() {
console.log(this.name)
}
}obj.func()
// "outer"
obj2.func()
// "inner
第一个使用了箭头函数,由于箭头函数的this与其所在环境中的this相同,也就是与obj的this相同,而obj处于全局环境的活动对象中,this指向全局对象,这里指window,所以输出outer。注意:obj对象的this与它的属性中的this不一样。第二个使用了寻常函数,作为obj2的一个属性,func方法中的this指向了所在的对象。输出inner。