-1

是否可以通过变量声明来缩小 DOM 引用?

例如document.documentElement

var d = document;
console.log(d[d + 'Element']); // undefined
console.log(d[d] + 'Element'); // undefinedElement

为什么这不起作用?

4

1 回答 1

2

它不起作用,因为document对象的字符串值不是 string 'document',它类似于'[object HTMLDocument]'(可能因浏览器而异)。

当您将字符串'Element'document对象连接时,对象会隐式转换为字符串,并且您会得到一个类似'[object HTMLDocument]Element',document['[object HTMLDocument]Element']且未定义的字符串。

于 2013-01-28T11:13:33.980 回答