1

「creditText」の行に「lbp is undefined」と表示されているのはなぜですか? このような構成ファイルで以前のプロパティを参照するにはどうすればよいですか?

var lbp = {

    // Pertinant page properties, such as Author, Keywords, URL or Title
    page: {
        theURL: window.location.toString(),
    },

    // Configurable user defaults
    defaults: {
        creditText: lbp.page.theURL
    }
}

よろしくお願いいたします。

4

3 に答える 3

3

あなたはそうしない。オブジェクトが閉じられるまで、lbpは現在のスコープのシンボルテーブルに存在しません。

var lbp = {
    // Pertinant page properties, such as Author, Keywords, URL or Title
    page: {
        theURL: window.location.toString(),
    }      
}; // NOW you can reference lbp by name

lbp.defaults = {
  creditText: lbp.page.theURL
};
于 2010-04-26T22:05:28.410 に答える
0

宣言の最後の括弧が閉じられているため、lbp変数は定義されていません。

于 2010-04-26T22:06:35.643 に答える
0

値が lbp 変数に割り当てられる前に、定義しているオブジェクトの内容が解釈されていると思います。別の命令で値を割り当てずに、やりたいことを行う方法はないと思います。

var lbp = {};
// Pertinant page properties, such as Author, Keywords, URL or Title
lbp.page = { theURL: window.location.toString() };
// Configurable user defaults
lbp.defaults = { creditText: lbp.page.theURL };
于 2010-04-26T22:14:00.867 に答える