代码之家  ›  专栏  ›  技术社区  ›  Stiofán

浏览器在内存中存储Javascript变量有多长时间?

  •  -2
  • Stiofán  · 技术社区  · 7 年前

    我知道sessionStorage和localStorage可以用来长期存储变量,但是一个页面存储一个 var x = 1 变数?

    脚本:

    用户在手机上加载页面。 变量x=1 设置在背景中。他关闭浏览器(最小化应用程序;不关闭页面),一周内不重新打开。是 x 仍然等于 1 ?

    3 回复  |  直到 7 年前
        1
  •  0
  •   Sheshank S.    7 年前

    关闭页面后,将删除全局变量。局部变量在局部变量的范围结束后被删除。

    最小化没有效果。

        2
  •  0
  •   Unmitigated    7 年前

    当用户关闭页面时,所有变量不再存在。但是,如果用户从未关闭页面,则变量将始终保持不变,假设没有背景 function 会改变他们的。

    x 永远等于 1 因为它是一个全局变量 功能 s更改其值:

    <script>
    var x = 1;
    </script>
    

    一旦运行以下函数, y 不再存在,不能在函数外部访问,因为它是函数内声明的局部变量:

    function doSomething(){
     var y = 1;
    }
    
        3
  •  0
  •   Jonas Wilms    7 年前

    他关闭浏览器(最小化应用程序;不关闭页面),一周内不重新打开。x仍然等于1吗?

    那要看情况。当页面关闭时,变量会丢失,当浏览器决定关闭/重新加载时,或者当整个浏览器关闭时,就会发生这种情况。是否发生这种情况取决于您的设备设置,一些可能的情况:

    • 后台应用程序通常会在内存不足时关闭。

    • 电话重新启动了

    • appdata已清除

    • pages meta设置刷新时间,浏览器将遵循该时间