2012-10-02 48 views
0

請參閱以下代碼。
當我點擊「PUT VAR」按鈕後,警報總是顯示「putted !!」的值。當我點擊「SHOW VAR」按鈕時。
這是否意味着我可以使用全局變量作爲頁面上的隱藏值?
處理結束後,全局變量是否存儲在瀏覽器中?

<html> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script type="text/javascript"> 
var test_var = "default"; 
$(function(){ 
    $("#show_var").on("click", function(){ 
     alert(test_var); 
    }); 

    $("#put_var").on("click", function(){ 
     test_var="putted!!"; 
    }); 
}); 
</script> 
</head> 
<body> 
<div id="demo"> 
<input type="button" value="SHOW VAR" style="width:100px" id="show_var" /> 
<input type="button" value="PUT VAR" style="width:100px" id="put_var" /> 
</div> 
</body> 
</html> 

回答

2

只要創建它們的上下文有效,就會存儲變量。從本質上講

var test_var = value 

以外的任何封閉的相同

window.test_var = value. 

window對象被一個unload事件之後遭到破壞,所以只要你留在你的變量存儲在同一個文檔上下文。

所以,是的,您可以使用它們作爲隱藏值,但您應該使用<input type="hidden">作爲表單值。

+0

我應該使用是否因爲變量或其他因素的衝突? – Nigiri

+1

''是一個表單元素。因此,如果您禁用JavaScript,它將不會被禁用。這隻對錶單很重要。如果您想共享不參與任何形式的JavaScript變量,請隨意在您的JS代碼中聲明它們。 – Zeta

+0

謝謝你非常清楚的解釋:) – Nigiri

相關問題