なぜ以下のコードがundefined
を返すのか混乱しています。 console.log(this)
の場合は、グローバルウィンドウオブジェクトではなくmyObjオブジェクトが取得されます。したがって、 'this'はxとyの値にアクセスするための正しいオブジェクトを明示していますが、未定義の値を返します。コードは次のとおりです。JavaScriptで 'this'キーワードを使用しています
var myObj = {
takeTwoNums: function (x, y) {
console.log(this.x);
}
}
myObj.takeTwoNums(1, 2);
'myObj'は 'X'プロパティを持っていません。あなたは 'console.log(x)'をするつもりでしたか? –
はい、私は 'console.log(x)'が1を返すことを知っています。しかし、なぜ 'this.x'は' x'変数を見ることができませんか? – Haloor
そこにあるので、 'this.x'は' myObj'オブジェクトの_property_を参照しますが、そこにはありません。 'this.x!== x' –