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元素也是如此,依此类推。非常混乱。

10-07 19:38
查看更多