![](/img/trans.png)
[英]A "global" variable I am setting at the top of my JavaScript file is not accessible to functions further down within the file
[英]Global variable at top of the JavaScript file
假設我在JavaScript文件的頂部聲明了一個全局JavaScript變量,該變量等於0
即
var jVar=0;
然后,我在JavaScript中調用一個函數以將該變量設置為1,即。
function setVarToOne(){
jVar=1;
}
如果然后重新加載頁面,則在調用setVarToOne
函數之前,變量將等於什么?
jVar
保留在函數中設置的值還是將其重新初始化為0?
我需要了解的是,重新加載頁面后JavaScript變量會如何處理?
謝謝
重新加載頁面時,JavaScript中的所有內容都會丟失,並且代碼將像第一次加載頁面時一樣執行。
這意味着,您的變量將被初始化為0,並且在調用函數時,變量將被設置為1。
當您重新加載頁面時, jVar
將被設置為0
; 因為您是在第一級初始化的,所以var jVar=0;
由於您的函數在重新加載期間不會被調用。 如果僅調用setVarToOne()
則只有在此之后,全局變量值才會更改。
您還可以選擇在localStorage上設置值
localStorage.setItem(id, value);
var jVar=0;
document.write(jVar+'<br>');
function setVarToOne(){
jVar=1;
}
setVarToOne();
document.write(jVar);
結果:1°document.write:0 2°document.write:1
每次加載/重新加載頁面時,變量“ jVar”將設置為0,然后設置為1
您的變量將設置為0。
重新加載頁面時,整個腳本將從頭開始再次運行-因此首先運行var jVar=0
。
如果需要保存數據,則可以使用本地存儲,會話存儲,cookie或將其持久保存在服務器上。
看一下這個有關頁面加載之間的持久變量的問題。
它將是0。
默認情況下,Javascript無法在兩次頁面加載之間保持狀態。 您可以嘗試先保存,然后再從某些商店讀取數據。 通過API調用或將其保存到localStorage,Cookie或其他數據存儲中。
全局變量是將在整個會話中存儲的變量。 當您想存儲超出會話的內容時,請使用PHP。 您需要PHP來存儲全局變量。 復制您的代碼並將其放在php文件中。 在這個文件中寫下這個,
<?php
session_start();
$_SESSION['JVar'] = 0;
function setVarToOne(){
$_SESSION['jVar'] = 1;
}
該變量將存儲在會話中,您所要做的就是通過將該值傳遞給js
echo "<script>var JVar = $_SESSION['jVar']</script>";
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.