課程
/前端開發(fā)
/JavaScript
/JavaScript進階篇
如果找不到元素節(jié)點,那么這個循環(huán)就一直進行下去?
2016-03-31
源自:JavaScript進階篇 9-11
正在回答
while (x && x.nodeType!=1)必須寫!必須判斷x為真 并且x.nodeType!=1才執(zhí)行循環(huán)。你試著將var x=document.getElementsByTagName("li")[2];while (x && x.nodeType!=1)和while (x.nodeType!=1),就能看出有差別了,<li id="c">html</li>的下一個子節(jié)點是空白符再下一個就沒有了,是null(火狐瀏覽器),null屬于false,如果不判斷x是否為真,只寫while(x.nodeType!=1)是錯誤的語句,null是沒有nodeType屬性的,這里就出錯了,停住了,不在執(zhí)行下面的return x;
x的意識是:“一個節(jié)點” ; ?&& 這個符號是邏輯操作符 “且”的意識;x.nodeType!=1 這個的意識是:這個節(jié)點的類型不是元素類型。
合起來:x && x.nodeType!=1 ? 的意識是,節(jié)點并且這個節(jié)點的類型不是元素類型,條件為true,執(zhí)行操作,如果條件為false ?不執(zhí)行!
不會的,首先你要理解x && x.nodeType!=1的意思,它等價于x且x.nodeType!=1;x和x.nodeType!=1是獨立的,沒有任何關系。如果找不到下一個節(jié)點,x會返回null,那么x的判斷為false,跳出循環(huán)。
舉報
本課程從如何插入JS代碼開始,帶您進入網(wǎng)頁動態(tài)交互世界
3 回答x && x.nodeType!=1
5 回答while (x && x.nodeType!=1)
4 回答while (x && x.nodeType!=1){ x=x.nextSibling; }
5 回答(x&&x.nodeType!=1)的問題
1 回答x && x.nodeType!=1不懂
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2016-04-19
while (x && x.nodeType!=1)必須寫!必須判斷x為真 并且x.nodeType!=1才執(zhí)行循環(huán)。你試著將var x=document.getElementsByTagName("li")[2];while (x && x.nodeType!=1)和while (x.nodeType!=1),就能看出有差別了,<li id="c">html</li>的下一個子節(jié)點是空白符再下一個就沒有了,是null(火狐瀏覽器),null屬于false,如果不判斷x是否為真,只寫while(x.nodeType!=1)是錯誤的語句,null是沒有nodeType屬性的,這里就出錯了,停住了,不在執(zhí)行下面的return x;
2016-04-01
x的意識是:“一個節(jié)點” ; ?&& 這個符號是邏輯操作符 “且”的意識;x.nodeType!=1 這個的意識是:這個節(jié)點的類型不是元素類型。
合起來:x && x.nodeType!=1 ? 的意識是,節(jié)點并且這個節(jié)點的類型不是元素類型,條件為true,執(zhí)行操作,如果條件為false ?不執(zhí)行!
2016-04-01
不會的,首先你要理解x && x.nodeType!=1的意思,它等價于x且x.nodeType!=1;x和x.nodeType!=1是獨立的,沒有任何關系。如果找不到下一個節(jié)點,x會返回null,那么x的判斷為false,跳出循環(huán)。