ES5写法:
var obj ={
x:1,
func:function(){
console.log(this.x);
},
test:function(){
var that= this;
//setTimeout是异步,函数已经执行完成,this指向的值是windows;
setTimeout(function(){
alert(that);
console.log(that.func());
},10)
}
}
ES6写法:
var obj = {
x:1,
func:function(){
console.log(this.x);
},
test:function(){
setTimeout(()=>{
alert(this);
alert(this.func());
},10)
}
}
obj.test()
ES6的优点:(相对ES5)
1、精简
2、避免了调用异步函数时对this的志向不同。
3、待定