while(x && x.nodeType !== 1)中的X不是節點嗎?它的nodeType可以等于1,但是X為什么也可以直接等有意1呢?
while(x? && x.nodeType !== 1){
????x = x.previousSibling;
}
//就是while循環里的判斷條件里的 X !== 1怎么理解呢?
while(x? && x.nodeType !== 1){
????x = x.previousSibling;
}
//就是while循環里的判斷條件里的 X !== 1怎么理解呢?
2019-07-23
舉報
2019-07-24
應該是該結點是否存在的意識,1可以表示為true
2020-07-05
應該是1&&1的意思? 本例該判斷結果為真,所以執行while中語句。牽扯到運算優先級
2019-08-26
但while(x!=null)等同while(x)
2019-08-26
我嘗試while(x!=1&&x.nodeTpye!=1)結果也對啊?
2019-07-30
最佳回答有些許問題,并不是1可以表示true,while(x && x.nodeType != 1)不是指需要同時滿足x != 1與 x.nodeType != 1兩個條件,而是while(x)已經判斷該節點是否存在,while(x)等同while(x != null).這樣才是對的,你可以嘗試將while(x? && x.nodeType != 1)改成while(x != 1 && x.nodeType != 1),結果卻是錯的。