Javascript オブジェクト ( testObject
) 内で、コールバック関数からのオブジェクトを配列に入力していjQuery.getJSON
ます。配列は最初にオブジェクト プロパティとして定義され、内部コールバック関数がパブリック オブジェクトにアクセスできるようにしますthis.publicArray
。var passedArray = this
オブジェクトに public メソッドを使用すると、入力された配列の内容をオブジェクトの子プロパティとして公開できますが、配列の内容を直接公開することはできません。
function testObject() {
this.publicArray = [];
var passedArray = this;
$.getJSON('http://...',
function(data) {
passedArray.publicArray = [{key:'value'},{key:'value'},{key:'value'}]
});
this.testMethod = function() {
console.log(this);
console.log(this.publicArray);
};
}
myObject = new testObject(); // [1]
myObject.testMethod(); // [2]
戻り値:
[1] > thisArray: Array[3]
0: Object
key: "value"
1: Object
key: "value"
2: Object
key: "value"
length: 3
[2] > []
配列にまったく同じオブジェクトを入力しても、コールバック関数からではなく、期待どおりに動作するため、理解できません:
- オブジェクトメソッドから配列の内容にアクセスする方法
- 配列の内容が開発者ツールに表示され、スクリプトには表示されないのはなぜですか。
ありがとう - そして、私が台無しにした他のことについて私に教えてください。