this指向汇总

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!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容