2

あるオブジェクトのコンテンツを別のオブジェクトと連結したいが、同じリスト/コマンド内で:

var MyVar = {
    options: {
        option1: "foo",
        option2: "bar",
        option3: "It's not kung "+options.option1+", but kung fu",
    }
}

これは機能しません。ここで間違っていることについてのヒントはありますか?

4

1 に答える 1

1

options.option1 は、使用している時点ではまだ定義されていません。

var MyVar = {
  options: {
    option1: "foo",
    option2: "bar"
  }
};

MyVar.options.option3 = "It's not kung "+MyVar.options.option1+", but kung fu";

意図したとおりに動作するはずです。

これは動的ではないことに注意してください (option3 は、option1 の変更によって変更されません)。動的な動作が必要な場合は、ここで解決策を見つけてください:オブジェクト リテラル宣言での自己参照

于 2013-02-21T11:48:29.030 に答える