javascript - 变量 "name"总是在 Javascript 中定义吗?

标签 javascript

document.writeln('name=' + name); 
// name =

document.writeln('notName=' + notName); 
// ReferenceError: notName is not defined

“名称”在 javascript 中有什么特殊含义吗? (在 IE 和 FF 中检查)

最佳答案

Is variable called “name” always defined in Javascript?



不。但是,在浏览器上有一个名为 name 的全局变量。这是当前窗口的名称。这是浏览器上的 JavaScript 全局对象是 Window 对象这一事实的副产品。一点解释:

在 JavaScript 中,全局变量实际上是称为“全局对象”的东西的属性。在浏览器上,全局对象是页面的 Window 对象,因此它具有与它相关的各种预定义属性(因此全局变量)是 Window object , 包括但不仅限于:
  • name - 当前窗口的名称
  • title - 当前窗口的标题
  • status - 状态区内容(除了大多数浏览器忽略它)
  • document - 当前窗口中的文档
  • window - 对全局对象的引用(例如,循环引用)
  • setTimeout - 用于安排稍后发生的事情的函数

  • ...还有许多其他人。它还可以将各种其他东西投入其中,例如每个具有 id 的 DOM 元素的属性。 (属性的名称是 id,它的值是对 DOM 元素的引用),在某些浏览器上,对于带有 name 的 DOM 元素也是如此。属性(property)等等。它非常困惑。

    关于javascript - 变量 "name"总是在 Javascript 中定义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49163272/

    相关文章:

    javascript - Node.js 的 "os"模块没有 userInfo() 方法

    javascript - 如何限制对我保存在cookie中的字符串的访问?

    javascript - Safari 阻止视频上的 play() 尽管被点击事件调用

    javascript - Vue Router - 路由加载后调用函数

    javascript - JavaScript 的数学算法错误?

    javascript - 禁用javascript时,页面不能回传

    javascript - 无法使用 Webpacker 在 Ruby on Rails 6 中调用 Bootstrap4 $ ('.carousel'.carousel

    javascript - 如何获取事件源元素

    javascript - 鼠标未悬停时重新启动图片库

    javascript - AJAX 代码以 'Get #ADRESS# 404' 结尾