JavaScript 预定义变量“name”

JavaScript predefined variable "name"

提问人:Giorgi Khmaladze 提问时间:4/15/2017 最后编辑:QuentinGiorgi Khmaladze 更新时间:6/20/2017 访问量:1143

问:

我正在学习 JavaScript,刚刚发现名为 name 的变量实际上是预定义的,位于全局上下文中。

enter image description here

我创建了新的、完全清晰的 html 文件(甚至没有在其中编写任何 html)。我也在 chrome、opera 和 firefox 中测试了它,同样......

我想知道为什么,除了我的好奇心之外,当该变量被分配给值“字符串”时,它本身甚至没有触及它。为什么会这样?它在做什么?

JavaScript 变量

评论

3赞 epascarello 4/15/2017
developer.mozilla.org/en-US/docs/Web/API/Window/name
0赞 Jonas Wilms 4/15/2017
请查看文档或谷歌。“JS window.name”返回许多问题的答案
1赞 jrook 4/15/2017
它不是具有预定义变量的 Javascript(一种编程语言)。您指的是窗口对象,应该修改问题的标题!
0赞 charlietfl 4/15/2017
同时搜索“JavaScript 保留字”
0赞 Giorgi Khmaladze 4/15/2017
谢谢,我搜索了错误的关键字,因为我不知道我在寻找什么

答:

2赞 Derek 朕會功夫 4/15/2017 #1

Window.name 是全局对象的预定义属性之一。window

由于斯蒂芬·比齐特(Stephan Bijzitter)想要一个更详细的答案,所以就在这里。

当前现行 HTML 标准的第 7.3.1 节指出,这是全局对象的一个属性,它返回窗口的名称,并且可以设置以更改名称。window.namewindow

Window 对象的 name 属性必须在获取时返回浏览上下文的当前名称;并在设置时,将浏览上下文的名称设置为新值。

当浏览上下文导航到另一个源时,名称将被重置。

评论

3赞 Stephan Bijzitter 4/15/2017
46k 分数和比仅链接评论更糟糕的答案。
0赞 Derek 朕會功夫 4/15/2017
@StephanBijzitter 你是否希望我引用HTML5规范的一部分来回答这个问题?
2赞 Stephan Bijzitter 4/15/2017
我希望每个人都投票关闭这个问题,因为一个简单的谷歌搜索将其作为第一个和第二个结果。但如果你回答,是的。从本质上讲,您的答案是一个带有文本的链接,该链接重复了 OP 自己已经发现的内容。它没有给这个“线程”添加任何内容。
1赞 charlietfl 4/15/2017
有趣。。。这是“耶稣受难日”......然而,今天到处都有猫斗!
0赞 Derek 朕會功夫 4/15/2017
@StephanBijzitter我认为我的答案与OP的发现不同。它为OP的问题提供了彻底的答案。