JavaScript全局变量的生命周期

cod*_*gon 6 javascript window global-variables

我在w3schools上阅读了以下内容,我不明白第二部分意味着什么:

[全局变量]仍可用于加载到同一窗口中的新页面.

谁能开导我?

在Web浏览器中,当您关闭浏览器窗口(或选项卡)时,将删除全局变量,但仍可用于加载到同一窗口中的新页面.

链接:https://www.w3schools.com/js/js_scope.asp

T.J*_*der 15

如果w3schools真的这么说 (天堂帮助我们,它确实如此),这是完全错误的,可以通过简单的实验轻松证明.

加载网页时,该页面上的JavaScript的全局环境将以新的方式创建.新页面无法使用同一窗口中上一页的全局变量.显然,浏览器提供的其他一些东西(例如存储在Web存储中的东西)可能是,但不是全局变量.

虽然它随着时间的推移有所改善,但不幸的是,这不是人们在w3schools上注意到的第一个简单的事实错误.我建议改用MDN的文档.虽然MDN是社区编辑的,因此有时会偶尔出现不准确的情况,但总的来说非常好,并且用户添加的任何不准确性往往会被其他人快速修复.

评论中你问过:

什么是官方JavaScript文档页面?

JavaScript的唯一"官方"文档是规范.同样,DOM等浏览器功能也以各种规格记录.WHAT-WG" HTML5标准 "(比HTML大得多)还可以记录HTML(显然)和各种其他浏览器功能.其他人都有他们自己的规格.关于MDN的一个好处是它链接到规范.