document.writeln('name=' + name);
// name =
document.writeln('notName=' + notName);
// ReferenceError: notName is not defined
javascript中的“名称”是否有某些特殊含义? (已在IE和FF中检查)
最佳答案
是否总是在Javascript中定义了称为“名称”的变量?
否。但是,在浏览器上有一个名为name
的全局名称,它是当前窗口的名称。这是以下事实的副产品:浏览器上的JavaScript全局对象是Window对象。一点解释:
在JavaScript中,全局变量实际上是称为“全局对象”的属性。在浏览器上,全局对象是页面的Window对象,因此它具有与Window object有关的各种预定义属性(因此是全局变量),包括但不限于:name
-当前窗口的名称title
-当前窗口的标题status
-状态区域内容(大多数浏览器除外)document
-当前窗口中的文档window
-对全局对象的引用(例如,循环引用)setTimeout
-用于安排以后发生的事情的功能
...以及许多其他在某些浏览器上,它还会引发各种其他事情,例如,每个具有id
的DOM元素的属性(该属性的名称是id
,其值是对该DOM元素的引用)具有name
属性的DOM元素也是如此,依此类推。非常混乱。