美文网首页
JavaScript中的this对象

JavaScript中的this对象

作者: sortinnauto | 来源:发表于2018-05-18 10:10 被阅读0次

    首先,this对象是在运行时基于函数的执行环境绑定的,是发生在调用的时候。这个“超级”延迟绑定(very late binding)使得函数可以对this高度复用。

    在全局函数中,this等于window;当函数被作为某个对象的方法调用时,this等于那个对象。匿名函数的执行环境具有全局性,因此其this通常指向window(当然,在通过调用call()apply()方法改变函数执行环境的情况下,this就会指向其他对象)。对于闭包,在某些情况下,这点可能不太明显。

    每个函数在被调用时,会自动取得两个特殊变量——thisarguments
    内部函数在搜索这两个变量的时候,只会搜索到其活动对象为止,因此永远不可能直接访问外部函数中的这两个变量。
    幸运的是,有一个很简单的解决方法

    如果该方法定义一个变量并为其赋值为this,那么内部函数就可以通过这个新的变量来访问到this。按照约定,这个变量命名为that。

    相关文章

      网友评论

          本文标题:JavaScript中的this对象

          本文链接:https://www.haomeiwen.com/subject/syiwdftx.html