1、普通函数或匿名函数自调中的this->window
严格模式下:this->undefined
2、obj.fun() fun中的this->obj
3、new Fun() Fun中的this->正在创建的对象
4、原型对象中的函数里的this->将来调用当前函数的.前的当前类型的子对象
5、btn.onclick=function({…}) this->btn
6、回调函数:
arr.forEach(function(){…})
arr.map(function(){…})
setInterval(function(){…})
setTimeout(function(){…})
$.ajax({
…
success.function(){…}
})或者.then(function(){…})
this->window 所有回调函数,真正被调用时,前边没有任何“对象.”前缀,所以,通常如果希望回调函数中的this不指向window,而是跟外部的this保持一致,都要改为箭头函数
7、jQuery中的函数:
$().each(function(){…})
$().animate({…},ms,function(){…})
jQuery中得多数回调函数 this->当前正在操作得dom元素
8、不考虑之前已经总结的情况,vue中一切this都指向当前new Vuw()对象。所以在vue.js中访问任何变量都要加this.变量名。但是html中绑定变量名不用加this!