2

为什么将 DOM 元素分配给全局变量 " name" 不起作用?

4

2 回答 2

2

在浏览器中运行时,JavaScript 中的大多数“全局变量”实际上是window对象(类型Window)的属性。

但是Window已经有了一个name属性,所以任何给它分配非字符串的尝试都将导致转换为字符串:分配对象的类型将不会被维护。

于 2017-01-14T17:06:17.943 回答
0

在全局空间中,只有一个可能的名称属性,即 Window 对象的名称,并且您只能指定一个文本字符串作为其值。这个与 Window 对象关联的全局变量的目的是为超链接和表单设置目标。但是,您可以使用另一个对象创建名为“名称”的属性,只要它源自创建对象的位置,如下所示:

   function season(name, starts, equinox) {
   this.name = name;  
   this.starts = starts;
   this.equinox=equinox;
};
function demoObj(favSeason,presDay) {
   this.favSeason = favSeason;
   this.presDay = presDay;
};
const seasonNow = new season('Spring','March','Vernal'); 
const o = new demoObj(seasonNow,'2-20-2022');
console.log("Favorite season: " + o.favSeason.name + " [as of " + o.presDay+ "]");

更多信息在这里

于 2017-06-16T09:04:35.037 回答