我有一個靜態變量的問題。如果頁面刷新,則變量的最後一個值將丟失。這是代碼:Javascript變量丟失值
var ok;
alert(ok);
if(ok==1) {
$('tr:has(td:contains("Blue"))').hide()
}
$('tr:has(td:contains("Blue"))').delay(10000).hide(0)
ok=1;
alert(ok);
我有一個靜態變量的問題。如果頁面刷新,則變量的最後一個值將丟失。這是代碼:Javascript變量丟失值
var ok;
alert(ok);
if(ok==1) {
$('tr:has(td:contains("Blue"))').hide()
}
$('tr:has(td:contains("Blue"))').delay(10000).hide(0)
ok=1;
alert(ok);
如果頁面被刷新,該變量的最後一個值都將丟失。
當頁面被刷新,存儲在窗口的會話的所有值都將丟失,並創建一個新的sesssion。
除非將值存儲在瀏覽器的存儲器中,否則不會保留它們。
刷新頁面時,所有存儲的值都會丟失,認爲它可能保留變量值。這可以通過window.localStorage
(或window.sessionStorage
)來實現。這個區別在MDN的DOM存儲指南中解釋(鏈接在下面)。
當你需要設定將要在接下來的網頁中反映出來的變量,使用:
var someVarName = "value";
localStorage.setItem("someVarName", someVarName);
,在任何頁面(當頁面加載等),把它想:
var someVarName = localStorage.getItem("someVarName");
.getItem()
將返回空值或存儲的值。
請注意,只有字符串值可以存儲在此存儲中,但可以通過使用JSON.stringify
和JSON.parse
來解決。從技術上講,每當你打電話.setItem()
,它會打電話.toString()
的價值和存儲。
如果localStorage
不可用,MDN的DOM存儲指南(鏈接如下)有解決方法/ polyfill,最終回落到像cookies這樣的東西。
使用現有的或創建您自己的迷你庫並不是一個壞主意,它可以抽象保存任何數據類型(如對象文字,數組等)的功能。
檢查http://stackoverflow.com/questions/16206322/how-to-get-js-variable -to-保留價值-後頁面刷新 –
你是在開玩笑吧? –
你期望什麼? – C2486
你知道javascript是如何工作的嗎?你爲什麼認爲這會拯救你所做的一切?你知道電腦如何工作嗎?爲什麼你認爲重新啓動計算機會修復很多問題? (*提示;因爲它知道的所有內容,除了**特別記住的**被遺忘,就像javascript *) – h2ooooooo