72

重複の可能性:
同じオブジェクト内の JavaScript オブジェクト リテラル値にアクセスする

まず、次の JavaScript オブジェクトを見てください。

var settings = {
  user:"someuser",
  password:"password",
  country:"Country",
  birthplace:country
}

birthplaceと同じ値を設定したいcountryので、オブジェクトの値countryを前に置きましたbirthplaceが、うまくいきませんでした。私も使用this.countryしましたが、それでも失敗しました。私の質問は、オブジェクト内のオブジェクトのプロパティにアクセスする方法です。

一部のユーザーは、「何をしたいのか、スクリプトなどを送信したいのか」と尋ねることに夢中になっています。それらの人々に対する答えは単純で、「オブジェクト内のオブジェクト プロパティにアクセスしたい」であり、スクリプトは上記で説明されています。

どんな助けでも大歓迎です:)

よろしく

4

2 に答える 2

89

オブジェクト リテラル構文を使用している場合、初期化中にオブジェクトを参照することはできません。作成後にオブジェクトを参照する必要があります。

settings.birthplace = settings.country;

初期化中にオブジェクトを参照する唯一の方法は、コンストラクター関数を使用する場合です。

この例では、匿名関数をコンストラクターとして使用します。新しいオブジェクトは で参照されthisます。

var settings = new function() {
    this.user = "someuser";
    this.password = "password";
    this.country = "Country";
    this.birthplace = this.country;
};
于 2012-10-08T20:42:43.770 に答える
1

オブジェクト自体にアクセスすることはできません。変数を使用できます:

var country = "country";
var settings = {
  user:"someuser",
  password:"password",
  country:country,
  birthplace:country
}
于 2012-10-08T20:42:44.467 に答える