我是JavaScript的新手,所以如果问题太愚蠢,我会道歉。我不明白this
关键字在下面的示例中的行为。
在第一种情况下,this
引用window
对象:
Element.prototype.x = this;
some_element.x; // Returns window object.
第二,它指的是DOM元素:
Element.prototype.x = function(){return this;};
some_element.x(); // Returns element itself.
为什么呢?这些例子有何不同?
答案 0 :(得分:0)
在第一种情况下,这是指窗口对象:
Element.prototype.x = this;
(此处范围指向窗口“js中的全局范围”)
第二,它指的是DOM元素:
Element.prototype.x = function(){return this;};
(但在此处您正在为Object“Element”定义一个函数,因此该关键字的范围指向“Element”对象。)