箭头函数的注意点
-
this在ES6中的指向的问题,this指向定义这个函数所在的对象,不在是运行时所在的对象了
-
箭头函数里面没有argumens了,用扩展运算符
-
箭头函数不能当构造函数
例子一
以前的函数写法
function show(){
return 1;
}
show();
箭头函数的写法
let show = () => 1;
show();
例子二
以前的函数写法
function show(a,b){
return a+b;
}
show();
箭头函数的写法
let show = (a, b) => a + b;
show();
例子三
平时就这样写
let show = (a, b) => {
console.log(a + b)
}
show(1, 2);
列子四箭头函数的this指向问题
箭头函数的this指向所在的对象
原来的写法
{
let json = {
id: 1,
show: function () {
setTimeout(function(){
alert(this.id) //undefind this指向window
},2000)
}
}
json.show();
}
箭头函数的写法
{
let json = {
id: 1,
show: function () {
setTimeout(()=>{
alert(this.id) //1
},2000)
}
}
json.show();
}