此关键字是JavaScript中最复杂的机制之一。它是一个很特别的关键字,被自动定义在所有函数的作用域中。对于那些没有花费时间的学习此机制的JavaScript开发者来说,this绑定一直是一件非常令人惊奇的事。
常见有五种情况:
-
函数执行时首先看函数名前面是否有点,点前面是谁,this就是谁;没有的话this就是window;
-
自执行函数中的这个永远是window;
-
给元素的某人一个事件绑定方法,当事件触发的时候,执行对应的方法,方法中的此是当前的元素,除了IE6〜8下使用
attachEvent(IE一个著名的bug,这种情况是window); -
在构造函数模式中,类中(函数体中)出现的this.xxx = xxx中的this是当前类的一个实例;
-
调用,应用和绑定(call/apply/bind);
网友评论