我对 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.
我确定我在这里遗漏了一些基本的东西,但是我已经阅读了很多关于范围和上下文的内容;显然还不够。