箭头函数的特性
1.不绑定arguments,用rest参数…解决
2.本身没有this的概念,捕获其所在上下文的 this 值,作为自己的 this 值,this指向全局
3. 箭头函数不能使用new(会报错)
4.箭头函数没有原型属性(prototype)
5.箭头函数不能当做Generator函数,不能使用yield关键字
6. 箭头函数不能换行
7.箭头函数有constructor、length属性
8.箭头函数可以立即执行
测试
var obj = {
objAge:this.age,
myFun:function(...a){
console.log(`${this.name}--年龄--${this.age}---${a}`);
},
}
let obj1 = {
name:"方法",
age:6
}
obj.myFun.call(obj1,"打王者","上课");
obj.myFun.apply(obj1,["打王者","上课"]);
obj.myFun.bind(obj1,["打王者","上课"],"吃饭")();
obj.myFun.call(obj.obj2);
call,applay bind 的区别
1.applay、call、bind他们三个都能改变函数this的指向问题;
2.applay、call这两个方法的主动调用,bind返回的是改变this指向后的新函数;
3.传参的问题区别,call和bind都是直接传递参数,applay传递的是数组