1 <html> 2 <head> 3 4 </head> 5 6 7 <p id="111">测试1</p> 8 <p id="222">测试2</p> 9 <input type="button" id="btn1" value="你好"> 10 <input type="button" id="btn2" value="你们好"> 11 <script type="text/javascript"> 12 var items=document.getElementsByTagName("p"); 13 alert(items.length); 14 for(var i=0;i<items.length;i++){ 15 items[i].onclick=function(){ 16 alert(i)); 17 } 18 } 19 20 </script> 21 </html>
这段代码打开页面时候会弹出一个提示框"2";
但是为什么我注释掉16行的alert之后,再次加载页面就不出现提示框了?求解释
你注释掉16行以后,整个方法的语法是有问题的,而这种情况js是会直接终止的,不会运行到出错的地方再终止