0

同様の質問がされていますが、私が満たした条件を満たしていませんでした。

プロパティにアクセスするには、ポイント表記またはブラケット表記のいずれかを使用できることを知っています。jibbering.com の記事にも同じことが記載されており、この回答も同様です。仕様書にも同じことが書かれています。

私はこの例( fiddle )を持っていますが、違いがあります:

var utils = {
    myString: "boo",
    myNumber: 99,
    justNULL: null
};

for (var i in utils) {
    document.write ( i + " = " + utils.i + "<br/>" ); //result - undefined
    document.write ( i + " = " + utils[i] + "<br/>" );//result - the actual value
}​

ここで何が欠けていますか?for..in の使用法またはオブジェクトの定義に関するものですか?

4

2 に答える 2

1

You need to use utils[i] format here because i is a string and a string reference can not be used to access a property using the use object.property format.

var obj = {};
obj.foo = 'test';

obj.'foo' // doesn't work
obj['foo'] // works
于 2012-04-16T06:34:28.533 に答える
1

いいえ、問題はポイント表記の使い方です。

ポイント表記を使用している場合、プロパティ名に変数を使用することはできません。式utils.iはオブジェクトのプロパティにアクセスし、名前iに変数を使用しません。i

于 2012-04-16T06:34:52.953 に答える