话不多少,上马
var a=1;
var obj={
a:2,
ga:function(){
return this.a
}
}
console.log((obj.ga=obj.ga)());//1
console.log((obj.ga)());//2
console.log((b=obj.ga)());//1
根据8跟10行,我只能斗胆猜测:
编译器为了省事,直接利用obj.ga得到的值进行xx.()这种函数调用,导致不管谁调用this指向都是全局的this。。。
挖个坑吧,我很想被打脸的。
完。