问答详情
源自:2-5 插件接口的设计

this的区别

ajQuery.fn = ajQuery.prototype 里面 init this 指向是init

 ajQuery.extend = ajQuery.fn.extend   里面的ajQuery.fn.extend setName this  指向的aJQuery 

绕不过来求详细解析

提问者:dydong 2016-08-17 11:34

个回答

  • wusyd1063
    2016-08-18 16:54:24
    已采纳

    情况1:如果一个函数中有this,但是它没有被上一级的对象所调用,那么this指向的就是window,这里需要说明的是在js的严格版中this指向的不是window,但是我们这里不探讨严格版的问题,你想了解可以自行上网查找。

      情况2:如果一个函数中有this,这个函数有被上一级的对象所调用,那么this指向的就是上一级的对象。

      情况3:如果一个函数中有this,这个函数中包含多个对象,尽管这个函数是被最外层的对象所调用,this指向的也只是它上一级的对象

    this永远指向的是最后调用它的对象,也就是看它执行的时候是谁调用的