我正在讀書閱讀器。我有一個可變的currentPostition,顧名思義,它總是知道用戶在書中的哪個位置。我正在嘗試創建用戶位置的歷史記錄,以便我可以添加一個後退按鈕,如Web瀏覽器。所以在設置我:JS/Javascript使用.push或.unshift來跟蹤變量的歷史
currentPostition; //this is a json object with book,chapter,page stored in it.
history = []; //array of json objects
再後來,當用戶導航(也有少數不同類型的導航):
history.push(currentPostition); //save in history before updating currpos
//put new values in currentPosition
currentPostition.book = foo;
currentPostition.chapter = foo;
currentPostition.page = foo;
到目前爲止好權?那麼問題就是這樣。我的歷史數組按照人們的預期長度增長。但是,歷史數組中的每個條目將與數組中放置的最後一個對象相同。 IE:
for (x=0;v<history.lenght;x++){
document.write(history[x].book+","+history[x].chapter+","+history[x].page+"<br />");
}
將導致一些輸出像
3rdBookPosition,3rdChapterPosition,3rdPagePosition 3rdBookPosition,3rdChapterPosition,3rdPagePosition 3rdBookPosition,3rdChapterPosition,3rdPagePosition
所以,我m stumped因爲我期望輸出如:
1stBookPosition,1stChapterPosition,1stPagePosition 2ndBookPosition,2ndChapterPosition,2ndPagePosition 3rdBookPosition,3rdChapterPosition,3rdPagePosition
我在做什麼錯?僅供參考,我已經試過unshift
和history[history.length]
以及同樣的結果。
由於提前, 乙腦
我沒有訪問jquery的權限。如果沒有jquery,我還可以將對象複製到另一個對象中? – user785178 2011-06-06 00:08:19
您可以聲明自己的擴展函數,請參閱編輯之前的響應 – malko 2011-06-06 08:19:11