1. 程式人生 > >JavaScript--漏寫var卻還能使用標簽

JavaScript--漏寫var卻還能使用標簽

get -c https 兼容 問題 gif es2017 img type

一個漏寫var帶來的問題:

這個是不標準的寫法!不建議使用

技術分享

但是效果還是出來了,為什麽呢?

技術分享

原因:

https://zhidao.baidu.com/question/1637589020484843580.html

為什麽可以通過id直接訪問對象,是因為所有的元素ID都相當於一個保存對象的全局變量。

通過id直接訪問對象還存在兼容問題。

建議用document.getElementById標準的形式獲取對象。

如果一個元素符合下面兩條規則中的任一條,則window對象中必須要有與之對應的一個屬性,屬性值就是這個對象。

如果一個元素擁有ID屬性,那麽ID屬性的屬性值就會成為window對象的屬性名. 如果一個元素擁有name屬性,那麽name屬性的屬性值就會成為window對象的屬性名.但這個元素的標簽名必須是: a, applet, area, embed, form, frame, frameset, iframe, img, object,其中的一個。

但是如果網頁有兩個相同ID的元素,就有點差異了:

 1 <html>
 2 <head>
 3     <script type="text/javascript">
 4         function getInput() {
 5             var mydiv = document.getElementById("div1");
 6             alert(mydiv.length);//mydiv是DispHTMLElement
 7             alert(div1.length);//div1是DispHTMLElementCollection
8 } 9 </script> 10 </head> 11 <body> 12 <div id="div1">123</div> 13 <div id="div1">456</div> 14 <input type="button" value="Test" onclick="getInput()" /> 15 </body> 16 </html>

JavaScript--漏寫var卻還能使用標簽