高阶函数(箭头函数)
程序员文章站
2022-06-12 21:43:00
...
ES6标准新增了一种新的函数:Arrow Function(箭头函数)
1.基础语法
//function
function fn(a, b){
return a + b;
}
//arrow function
(a, b) => {
return a + b
}
使用ES6箭头函数语法定义函数,将原函数的“function”关键字和函数名都删掉,并使用“=>”连接参数列表和函数体。
当函数参数只有一个,括号可以省略;但是没有参数时,括号不可省略
// 两个参数:
(x, y) => {
return x * x + y * y
}
// 无参数:
() => {
return 3.14
}
// 可变参数:
(x, y, ...rest) => {
var i, sum = x + y;
for (i=0; i<rest.length; i++) {
sum += rest[i];
}
return sum;
}
2.this
箭头函数看上去是匿名函数的一种简写,但实际上,箭头函数和匿名函数有个明显的区别:箭头函数内部的this是语法作用域,是固定不变的,由上下文确定
而function定义的函数,this的指向随着调用环境的变化而变化
//使用function定义函数
function fn(){
console.log(this)
};
var obj = {
aa : fn
};
fn(); //Window
obj.aa(); //obj { aa : fn}
//使用箭头函数定义函数
var fn = () => {
console.log(this)
};
var obj = {
aa : fn
}
fn(); //Window
obj.aa(); //Window
上一篇: 下班做简单小动作 给身体大扫除保健
下一篇: 电脑族周末健身 选择以下四种运动