JavaScriptでは、オブジェクト内に定義されている無名関数の場合、this
キーワードはオブジェクト自体を参照します。関数は、オブジェクトの範囲外で定義されている場合しかし、this
は、ウィンドウオブジェクト、例えば指す:Javascriptメソッドからの呼び出しオブジェクトへのアクセス
function foo() {
console.log(this)
}
let A = {
att: foo(),
att2: "bla"
}
A.foo();
[EDIT]:私は元のコードでミスを犯し、私がすることを意味A.attとしての機能を呼び出す()(と私はATTを維持する義務がいます:FOO()私のコードは基本的に以下の通りである。
function foo() {
console.log(this)
}
let A = {
att: foo(),
att2: "bla"
}
A.att();
ここでの出力は、アクセスしたいオブジェクトではなく、オブジェクトウィンドウです.Aは変更できません。どうすればfoo()からAにアクセスできますか?
'A.att'が' undefined'あります。 – str
あなたのためにスニペットを作成しました。 attに代入されると、foo()を実行することがわかります。 A.foo()は存在しません、A.attは – mplungjan