課程
/前端開發
/JavaScript
/JavaScript進階篇
這個x一開始被賦值為n這個節點緊接著的上一個節點,然后執行while語句,滿足條件x再被賦值為x的前一個節點的值,那不就是n這個節點的前兩個了么。有點不能理解。
2019-07-07
源自:JavaScript進階篇 9-11
正在回答
程序的目標很明確,要獲取并返回的x是一個實際的節點元素(比如<li>、<div>等標簽),而不能是非IE瀏覽器(比如Firefox、Chrome)中獲取的文本、注釋等其他類型的元素。
所以循環條件是x.nodeType!=1。其中“1”代表的就是“標簽元素”。如果返回的結果真的是一個標簽元素的話,自然不滿足條件,無法進入循環。
同理,循環條件中還有一個條件是x,等同于x!=null。這是因為如果已經是第一個元素了,它的前一個sibling是什么?在JS中用null作為返回值。也是同樣的道理,如果x取值已經是null(沒有再前面的sibling)則沒必要循環了。
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
2 回答關于WHILE語句
2 回答關于while語句中條件值更新問題
2 回答if 語句 的執行問題
3 回答do while 語句
2 回答switch語句不執行
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-07-08
程序的目標很明確,要獲取并返回的x是一個實際的節點元素(比如<li>、<div>等標簽),而不能是非IE瀏覽器(比如Firefox、Chrome)中獲取的文本、注釋等其他類型的元素。
所以循環條件是x.nodeType!=1。其中“1”代表的就是“標簽元素”。如果返回的結果真的是一個標簽元素的話,自然不滿足條件,無法進入循環。
同理,循環條件中還有一個條件是x,等同于x!=null。這是因為如果已經是第一個元素了,它的前一個sibling是什么?在JS中用null作為返回值。也是同樣的道理,如果x取值已經是null(沒有再前面的sibling)則沒必要循環了。