Javascript教程(十二)箭头函数
2018-05-25 本文已影响0人
klmhly
ES6标准新增了一种新的函数:Arrow Function(箭头函数)。
箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种只包含一个表达式,连{ ... }和return都省略掉了。还有一种可以包含多条语句,这时候就不能省略{ ... }和return
1
//箭头函数
x => x * x //箭头左边是参数,右边是函数体
//相当于:
function (x) {
return x * x;
}
2
x => { //箭头左边是参数,右边是函数体
if (x > 0) {
return x * x;
}
else {
return - x * x;
}
}
3. 如果参数不是一个,就需要用括号()括起来
// 两个参数:
(x, y) => x * x + y * y
// 无参数:
() => 3.14
// 可变参数:
(x, y, ...rest) => {
var i, sum = x + y;
for (i=0; i<rest.length; i++) {
sum += rest[i];
}
return sum;
}
4. 如果要返回一个对象
要用括号把对象括起来
x => ({ foo: x }) //要用括号把对象括起来
5. 注意:this
对于箭头函数来说,this总是指向词法作用域,也就是外层调用者obj,即使用call,bind,apply也无法改变它的指向。