为什么javascript中的对象文字保存了不必要的DOM引用?

Ami*_*far 6 javascript optimization language-design

这份文件中,

不要这样做

car = new Object();
car.make = "Honda";
car.model = "Civic";
car.transmission = "manual";
car.miles = 1000000;
car.condition = "needs work";
Run Code Online (Sandbox Code Playgroud)

这样做

car = {
  make: "Honda",
  model: "Civic",
  transmission: "manual",
  miles: 1000000,
  condition: "needs work"
}
Run Code Online (Sandbox Code Playgroud)

因为

这节省了空间和不必要的DOM引用.

DOM只是在HTML,XHTML或XML中操纵对象.以上与DOM无关.

这是错的吗?或者我错过了什么?有人可以帮助我理解本文所讨论的DOM参考吗?

rav*_*rav 1

这里其实有两点需要说明:

1) 它将语句执行的数量从 6 减少到 1。我不确定这在实践中是否更快,但理论上应该是。至少,它确实使代码更清晰、更易读。

2) 如果在浏览器中执行此代码,则汽车对象会添加到 DOM,因为它会添加到窗口对象。

此代码将发出“LOL”警报:

var foo = "LOL";
alert(window.foo);
Run Code Online (Sandbox Code Playgroud)