ES6:箭头函数
箭头函数写法:
…
//一般写法
let fn=(a,b)=>{
return a+b;
}
//带参数写法
let fn=(a,b)=>{
return a+b;
}
// 调用该函数
let result=fn(1,2);
console.log(result);
…
-
箭头函数this传向问题解答如下:
…
//传统函数// 1.1this 是静态的 this 始终指向函数声明时所在作用域下的this的值
function getName() {
console.log(this.name);
}
//箭头函数
//1.2.指向的是window对象,提醒:但是传统的函数执行的是调用者本身
let getName2 = () => {
console.log(this.name);
}
// 2.不能作为构造实例化对象
let Person=(name,age)=>{
this.name=name;
this.age=age;
}
let me=new Person(‘xiao’,30);
console.log(me);
// 3.不能使用arguments 变量
let fn=()=>{
console.log(arguments);
}
fn(1,2,3);
// 4.箭头函数简写
// 1).省略小括号,当且形参有且只有一个时候
let add=n=>{
return n+n;
}
console.log(add(9));
// 2)省略花括,当代码体只有一条语句时候
// 此时return 必须省略
// 而且语句的执行结果就是函数的返回值
let pow = n => n * n;
console.log(pow(9));
//举例子比如数组的filter、some事件的回调
一句话总结:箭头函数是用于this无关的回调:比如定时器、数组。反之,事件对象回调、事件回调则不行
…