我对 JS 构造函数中的上下文有什么问题感到困惑。在 ctor 中,我声明了一个函数。在对该函数的调用this
设置为 ctor 的上下文之前。在函数内部, 的值this
设置为window
。我不明白为什么。在 HTML 中,ctor 被称为“new”。
function MyCtor() {
var myFunc = function() {
debugger; // #2
// code for myFunc
}
debugger; // #1
myFunc();
debugger; // #3
}
在调试器 #1this
处,设置为MyCtor
. 在#2this
是window
。在#3 又回到MyCtor
.
我确定我在这里遗漏了一些基本的东西,但是我已经阅读了很多关于范围和上下文的内容;显然还不够。