課程
/前端開發
/JavaScript
/JavaScript進階篇
我有點犯暈,會的教一下。這兩段代碼的區別。謝謝了。?
2018-05-11
源自:JavaScript進階篇 9-14
正在回答
不一樣,如果在外面申明node1 = content.childNodes.length 后再執行循環 for (i = 0; i < node1; i++)的話,每次執行for循環的時候node1的值就不會變了;
如果使用 for (i = 0; i < content.childNodes.length; i++) 的話每次執行 for 循環的時候 content.childNodes.length的值都在變小,因為每次執行一次 for循環都移除了一個length 長度,就是截圖中央那段話表達的意思。
為什么同學代碼中最高票回答的第一個代碼能正常運行,按理說應該無法一次刪除啊?
for(var i=0;i<content.childNodes.length;i++){
? ? ? if(content.childNodes[i].nodeType!=1){ ??
? ? ? ? ?continue; ?
? ? ? }else{
? ? ? ? ?content.removeChild(content.childNodes[i]); ? ?
? ? ? }
? ? ? ? ?
果然有個地方不一樣哎,多謝
求助呀
hhahaha 提問者
<script type="text/javascript">function clearText() {? var content=document.getElementById("content");? // 在此完成該函數// var all = content.childNodes.length;// for(i=0;i<all;i++)// {var x=content.removeChild(content.childNodes[i]);//? ? x=null;// }??? ?var all = content.childNodes;? for(i=0;i<all.length;i++)? {var x=content.removeChild(content.childNodes[i]);? ? ?x=null;? }}</script>
<script type="text/javascript">
function clearText() {
? var content=document.getElementById("content");
? // 在此完成該函數
// var all = content.childNodes.length;
// for(i=0;i<all;i++)
// {var x=content.removeChild(content.childNodes[i]);
//? ? x=null;
// }
??
? ?var all = content.childNodes;
? for(i=0;i<all.length;i++)
? {var x=content.removeChild(content.childNodes[i]);
? ? ?x=null;
? }
}
</script>
為什么我用這兩種方法寫出來的效果是一樣的?都不太正常啊
非常感謝
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
1 回答這段代碼是什么意思
3 回答這段代碼是什么意思?
1 回答這段代碼什么意思
2 回答求解,不是很懂這兩段的意思
2 回答這段代碼什么意思?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-05-11
不一樣,如果在外面申明node1 = content.childNodes.length 后再執行循環 for (i = 0; i < node1; i++)的話,每次執行for循環的時候node1的值就不會變了;
如果使用 for (i = 0; i < content.childNodes.length; i++) 的話每次執行 for 循環的時候 content.childNodes.length的值都在變小,因為每次執行一次 for循環都移除了一個length 長度,就是截圖中央那段話表達的意思。
2018-05-30
為什么同學代碼中最高票回答的第一個代碼能正常運行,按理說應該無法一次刪除啊?
for(var i=0;i<content.childNodes.length;i++){
? ? ? if(content.childNodes[i].nodeType!=1){ ??
? ? ? ? ?continue; ?
? ? ? }else{
? ? ? ? ?content.removeChild(content.childNodes[i]); ? ?
? ? ? }
? ? ? ? ?
? ? ? }
2018-05-22
果然有個地方不一樣哎,多謝
2018-05-22
求助呀
2018-05-22
為什么我用這兩種方法寫出來的效果是一樣的?都不太正常啊
2018-05-18
非常感謝