【发布时间】:2016-07-08 21:07:22
【问题描述】:
通过 w3schools tutorial 获取 JavaScript,找到以下语句:
全局变量具有全局范围:网页上的所有脚本和函数都可以访问它。
那么,我的问题是,我们有办法引用在特定网页中声明的变量吗?
例如,在 C 语言中,我们有 extern 关键字,使用它我们可以访问在另一个文件中声明的变量,但我们可以在我们的文件中引用它。
例如:
在fileA.html的script标签里面,我们声明了var x = 50,在function()声明之外,所以它是全局w.r.t fileA.html。
如果我有fileB.html,我们可以在fileB.html 中包含的脚本标签中引用x 吗?
需要明确的是,这不是跨网页重用 JavaScript 文件的场景。
【问题讨论】:
-
JavaScript 全局变量相对于包含的全局上下文是“全局的”(它们只是所述上下文的属性) - 在浏览器中,它是 Window 对象,每个页面都是不同的 -在每次重新加载或导航时加载并销毁/重新创建。每个 IFRAME 还将建立自己的 Window 上下文,尽管有一些规则可以跨越。
-
请尽快戒掉w3schools,它充满了错误。
-
@RobG,我要去 MDN 教程 -> developer.mozilla.org/en-US/docs/Web/JavaScript
-
@a3.14_Infinity 查看更新后的帖子;包括一种利用
SharedWorkerdeveloper.mozilla.org/en-US/docs/Web/API/SharedWorker的方法
标签: javascript html extern