处理结束后,全局变量是否存储在浏览器中?

时间:2012-10-02 08:05:02

标签: javascript

请参阅以下代码。
单击“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>

1 个答案:

答案 0 :(得分:2)

只要创建变量的上下文有效,就会存储变量。基本上

var test_var = value
任何闭包之外的

相同
window.test_var = value.

window对象在unload事件后被销毁,因此只要您保留在同一文档上下文中,就会存储变量。

所以,是的,您可以将它们用作隐藏值,但是您应该使用<input type="hidden">作为表单值。