簡體   English   中英

JavaScript文件頂部的全局變量

[英]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

jsfiddle

您的變量將設置為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM