0

JavaScript コードに問題があります。私は今、いくつかのより複雑なことから始めています。ネット上でいくつかの答えを見つけたようですが、残念ながら修正できません。問題は:

sGetMobileField変数をValMob取得してパラメーターを取得したいのですが、このように機能していません:

var oFieldValues = { sGetMobileField:) { Value: ValMob } };

変数はオブジェクト プロパティとして機能していないようです。誰でも私がそれを修正するのを助けることができますか?

ありがとう、デーン

4

2 に答える 2

4

これを試して

var oFieldValues = { };
oFieldValues[ sGetMobileField ] = { Value: ValMob };

変数をプロパティ識別子として使用できますが、オブジェクト リテラル内では使用できません。最初にオブジェクトを作成する必要があり、次に使用して動的プロパティを追加できます

obj[ varToHoldPropertyName ] = someValue;
于 2012-07-05T15:09:20.727 に答える
0

まず、構文が正しくありません。sGetMobileField:後の")"はタイプミスだと思います。ただし、ここで行っているのは、「sGetMobileField」というプロパティを設定することです。

var oFieldValues = { sGetMobileField: { Value: ValMob } };

変数Valueから名前を取得するプロパティではなく、「値」と呼ばれるプロパティを設定するのとまったく同じ理由で。Value一貫していますよね?したがって、次のようになります。

console.log(oFieldValues.sGetMobileFields.Value) // the content of ValMob.

幸いなことに、JS では、ドット表記の代わりに角括弧表記を使用できます。つまり、文字列を使用してプロパティにアクセスできます。たとえば、次のようになります。

console.log("Hello");

以下と同じです:

console["log"]("Hello");

したがって、変数の値を使用して、アクセスするオブジェクトのプロパティを指定できます。あなたの場合:

var oFieldValues = {};

oFieldValues[sGetMobileField] = { Value: ValMob };

JS で通常使用される命名規則に従うことに注意しValueてください。valueValMobvalMob

于 2012-07-05T15:24:42.597 に答える