JS コンストラクターのコンテキストで何が問題なのか混乱しています。ctor 内で、関数が宣言されています。その関数への呼び出しがthis
ctor のコンテキストに設定される前。関数内で の値this
が に設定されwindow
ます。理由がわかりません。HTML では、ctor は「new」で呼び出されます。
function MyCtor() {
var myFunc = function() {
debugger; // #2
// code for myFunc
}
debugger; // #1
myFunc();
debugger; // #3
}
デバッガ #1 では、this
に設定されていMyCtor
ます。#2this
はwindow
です。そして #3 で に戻りMyCtor
ます。
ここで何か基本的なことが欠けていると確信していますが、スコープとコンテキストについて多くのことを読みました。明らかに十分ではありません。