-2

pageCounterページ内のオブジェクト (以下を参照) が int ではなく文字列として扱われるのはなぜですか? javascript が変数を解釈せず、変数の名前をリテラル文字列として使用するのはなぜですか?

for (var i in stories){
        //reset the counter when it hits the number of stories per page
        if (counter >= divsByPage) {
            counter = 1;
            pageCounter++;
        }

        //turn all the stories off
        //stories[i].style.display = "none";

        //insert a new story under a page array
        pages.push({pageCounter:stories[i]});

        counter++;
    }

console.log(pages[1]);出力しますObject { pageCounter=[1]}

4

2 に答える 2

0

pageCounter名前の代わりに変数として使用する場合は、これを行う必要があります。

var object = {};
object[pageCounter] = stories[i];
pages.push(object);
于 2012-07-05T12:54:43.637 に答える
0

オブジェクトのフィールド名 (これは何なpageCounterのか){pageCounter:stories[i]}は常に文字列 (または文字列のようなもの) です。pageCounterinは、増加している you{pageCounter:stories[i]}とは何の関係もありません。pageCounter

于 2012-07-05T12:55:04.383 に答える