?用JS代碼求出頁面上一個元素的最終的background-color,不考慮IE瀏覽器,不考慮元素float情況。

二、題目解析

?1.考察底層JavaScript基礎(chǔ)
?前端開發(fā),日常最常接觸的就是頁面樣式的編寫。而擺脫jQuery等工具庫,用原生js獲取樣式,是每個前端程序猿進(jìn)階階段必須掌握的技能。

?2.考察面試者的思維縝密程度和開發(fā)經(jīng)驗
?如果認(rèn)為單單求元素計算后的樣式,就有點too young了。頁面的樣式的復(fù)雜,永遠(yuǎn)是最虐心的。就算前端有多牛逼,一聽到兼容IE6,論誰都會心塞??。所以還要考慮特殊的情況:display,opacity,visibility的取值。

三、理論基礎(chǔ)

?1. 內(nèi)聯(lián)樣式
?內(nèi)聯(lián)樣式可以通過元素的style屬性獲取,如果style屬性有background-color值,則可以直接獲取出來 (暫不考慮!important) 。

?2. 外聯(lián)的層疊樣式
?DOM2樣式規(guī)范在document.defaultView中包含了一個getComputedStyle()方法。該方法返回一個只讀的CSSStyleDeclaration對象,其中包含特定元素的所有計算樣式。

四、解題

4.1 將所有工具方法封裝在WDS(wall dom script)命名空間中

(function(WDS,&