当我在带有Ajax的MVC视图中使用全局JavaScript变量时,即使页面没有刷新,全局变量是否会被重置(重新声明)?
即
<script>
var global = 0;
function func()
{
global = 2;
//passing global variable to a method "int square(int number)" in Home Controller
$.ajax(
{
type: "POST",
url: "../Home/square",
data: { number : global },
success: function (result)
{
alert(result);
}
};
}
</script>
通常,哪些事件会导致JavaScript中的全局变量重置?
答案 0 :(得分:1)
JavaScript中的全局变量只有在页面刷新时才会重新初始化(即浏览器中的F5)。
页面可以声明为部分视图并通过Ajax引入,在这种情况下,“父”页面可能不会刷新,但是对于部分视图的每个ajax请求都会导致该视图的JavaScript变量重新生成初始化。除非这种情况,您关于JavaScript变量及其生命周期的原始陈述是正确的。