【问题标题】:The lifetime of JavaScript global variablesJavaScript 全局变量的生命周期
【发布时间】:2018-01-22 11:34:21
【问题描述】:

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

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

谁能赐教?

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

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

【问题讨论】:

  • 错了。加载新页面时,全局变量全部被清除。
  • 这就是为什么人们一直告诉新手不要使用 w3schools
  • if(w3schools === w3fools){goto official documentation or your local barber who will have more reliable information than that site}
  • 什么是官方的 JavaScript 文档页面?
  • 不要那么信任 w3schools。测试所有东西!

标签: javascript window global-variables


【解决方案1】:

如果 w3schools 真的这么说 (上帝保佑我们,确实如此),这完全是错误的,可以通过一个简单的实验轻松证明。

当一个网页加载时,该页面上的 JavaScript 的全局环境是全新的。在同一窗口中的前一页中没有全局变量可用于新页。显然,浏览器提供的其他一些东西(比如存储在网络存储中的东西)可能是,但不是全局变量。

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

a comment 你问过:

什么是官方的 JavaScript 文档页面?

JavaScript 的唯一“官方”文档是 the specification。同样,像 DOM 这样的浏览器功能也记录在 various specifications 中。 WHAT-WG "HTML5 standard"(比 HTML 多很多)还记录了 HTML(显然)和各种其他浏览器功能。其他人在他们自己的规格中。 MDN 的一大优点是它可以链接到规范。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-14
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 2020-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多