0

这段代码有什么问题吗,比如没有分配权利之类的?所有引用的 ID 都存在,控制台记录它,但只topbar.cw分配。我认为它也可能被分配到其他地方,不确定。另外,我什至不确定这是什么。它是一个数组、一个类、一个构造还是什么?

var topbar = {};
if(document.readyState == 'complete'){
topbar.cw=document.getElementById('contentWrapper');
topbar.tb=document.getElementById('topbar');
topbar.hd=document.getElementById('header');
topbar.sm=document.getElementById('storyMenu');
topbar.dd=document.getElementById('dropdown');
topbar.bc=document.getElementById('bodyContent');
topbar.sb=document.getElementById('sidebar');
topbar.mm=document.getElementById('mainMenu');
topbar.da=document.getElementById('displayArea');
console.log("fired when done loading");
}
4

1 回答 1

0

在代码中:

> var topbar = {};

将新对象分配给topbar

> if(document.readyState == 'complete') {

如果 的值document.readyState等于字符串 'complete',则:

>     topbar.cw = document.getElementById('contentWrapper');

将 RHS 上的调用结果分配给 的cw属性topbar。如果这样的属性不存在,则创建它。

如果存在 id 为contentWrapper的元素,则分配对该cw属性的引用。如果不存在 id 为contentWrappernull的元素,则将分配一个值,因为这就是document.getElementById指定在找不到匹配元素时返回的值。

>   topbar.tb = document.getElementById('topbar');
>   ...
>   console.log("fired when done loading");

上面的消息是否曾经显示在控制台中?你有没有尝试过:

    console.log(topbar);

如果没有,请尝试一下。报告你看到的。

于 2012-09-24T23:05:19.607 回答