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

时间:2018-07-14 15:43:26

标签: javascript

我了解sessionStorage和localStorage可用于长期存储变量,但是页面将​​存储一个简单的var x = 1变量将持续多长时间?

场景:

用户在手机上加载页面。 var x = 1被设置在后台。他关闭浏览器(最小化应用程序;不关闭页面),并且一周都没有重新打开它。 x仍然等于1吗?

3 个答案:

答案 0 :(得分:0)

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

最小化无效。

答案 1 :(得分:0)

当用户关闭页面时,所有变量都不存在。但是,如果用户从不关闭页面,则假定没有背景function要更改它们,这些变量将始终保持不变。

x将始终等于1,因为它是全局变量,并且其他function不会改变其值:

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

运行以下函数后,y不再存在,并且无法在函数外部访问,因为它是在函数内部声明的局部变量:

function doSomething(){
 var y = 1;
}

答案 2 :(得分:0)

  

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

这取决于。当页面关闭时,变量丢失;当浏览器决定关闭/重新加载页面时,或者整个浏览器关闭时,变量都会丢失。发生的方式取决于您的设备设置以及一些可能的情况:

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

  • 电话已重新启动

  • 应用数据已清除

  • 页面元数据设置刷新时间,浏览器将遵循该刷新时间