私はコードをオブジェクトに再構成してthisキーワードを使用しています。この問題は、小道具を設定してから2番目のメソッドが起動するときに発生します。myProp
は未定義です。私はmyObj
を使用して設定して取得するのではなく、うまく動作していることに気付きました。ここでの違いは何ですか?私は間違って何をしていますか?私はこれは、オブジェクトリテラルによって自動的にインスタンス化されたインスタンスのみを参照していましたが。オブジェクトリテラルでthis.propertyにアクセスできないのはなぜですか?
var myObj = {
SetProp: function (id) {
this.myProp = "abc";
Ajax.GetJSONAfterStandardLogic(Utility.PrefixURL("/ajax/mymethod"), this.SetPropSuccess);
},
SetPropSuccess: function (response) {
console.log("test " + this.myProp);
}
}
'this'は、その文脈では、関数' SetPropSuccess'を指すため。 –
[JavaScriptでの "this"の範囲](http://stackoverflow.com/questions/2253955/scope-of-this-in-javascript)< - 多数ありますが、これは最初のものですよく述べられた答えが出てきました。 –