我正在努力提高我的 JavaScript 技能,并且我知道调用函数有四种基本方法——它们改变了this
定义的方式。我感兴趣的两个是基本的两个:
- 作为函数调用
- 作为方法的调用
这很好。首先,this
将引用window
对象:
function doSomething() {
console.log(this);
}
doSomething(); // window is logged
第二个this
将引用它正在从内部执行的对象:
var t = {
doSomething: function () {
console.log(this);
}
};
t.doSomething(); // t is logged
这一切都很好。但是,是否正确地说,在这两个调用方法中,this
总是要返回包含该方法的对象(如果这有意义的话)?
在第一个例子doSomething()
中,实际上是在window
对象中定义的——对象的属性也是如此window
,即使我们没有定义它(或引用它)。
因此,难道不能说,实际上作为函数的调用就是作为方法的调用吗?或不?