箭头函数的声明和调用
let fun=(a,b)=>{
console.log(a,b)
};
fun(1,2)// 3
箭头函数的this指向是静态的,this的指向永远是声明时所在作用域下的this的值,它并没有自己的this
window.name=`bawei`
function getName() {
console.log(this.name)
}
let getName2=()=>{
console.log(this.name)
}
getName(); //bawei
getName2(); //bawei
let school={
name3:'八维'
}
name.call(school) //八维
name2.call(school) //bawei
不能作为构造实例化对象
let Person=(name,age)=>{
this.name=name;
this.age=age
};
let me=new Person('gg',12);
console.log(me). //报错
不能使用arguments对象
let fn=()=>{
console.log(arguments);
}
fn();
箭头函数简写
1.当形参有且只有一个的时候(可以省略括号,不省略花括号一定要加return否则不加return)
let fn=a=>{
return a
}
let. fn=a=>a
由于箭头函数的this指向永远指向声明时的作用域而且不会因为bind或者是call改变。 所以箭头函数的出现场景如下
1.箭头函数适用于与this无关的场景比如。定时器 、数组的方法回调(filter、every、some)。
2.箭头函数不适用与this有关的场景事件比如 事件回调、对象的方法(对象中声明的方法)。