MVC视图中全局变量的范围

时间:2014-01-20 16:27:36

标签: javascript ajax asp.net-mvc

当我在带有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中的全局变量重置?

1 个答案:

答案 0 :(得分:1)

JavaScript中的全局变量只有在页面刷新时才会重新初始化(即浏览器中的F5)。

页面可以声明为部分视图并通过Ajax引入,在这种情况下,“父”页面可能不会刷新,但是对于部分视图的每个ajax请求都会导致该视图的JavaScript变量重新生成初始化。除非这种情况,您关于JavaScript变量及其生命周期的原始陈述是正确的。