2017-05-24 51 views
1

該代碼非常簡單,基本上我分配給DOM元素的id並顯示輸出以及元素的'typeof'。爲什麼JS在分配爲變量時識別DOM節點?

<li id="noob">N00B</li> 
<li id="coder">C0D3R</li> 

var someVar = noob; 
console.log(someVar); // output <li id="noob"> 
console.log(typeof someVar); // output object 

從我已經用我看到指出,從元件的ID直接訪問由Javascript和可以被指定爲可變的,至少無TUTS(主要計算器,W3Schools的,codeacademy和MDN)某種類型的方法(即getElementById,getElementsByTagName,getAttribute)。

當檢查typeof運算是有意義的對象由於所有節點都生活文檔中的對象(難道我的理解對不對?)

然而,第一部分是我想什麼瞭解。

這是fiddle,我的瀏覽器是FireFox 47.0以防萬一。

回答

1

我分配給DOM元素

都能跟得上的ID,您分配元素本身。分配的ID會是這樣:

var someVar = "noob"; 

揭露DOM元素(那些ID)作爲window對象屬性(使它們的全球標識符)是瀏覽器的「功能」。有關詳細信息,請參見this answer

相關問題