第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

 if(y!=null) 這個是什么意思?

? ? ? ? while (x && x.nodeType!=1)

這里已經(jīng)判斷節(jié)點的上個兄弟節(jié)點存在了

那么為什么還要?if(y!=null)這句

y!=null是節(jié)點存在 還是 不為空節(jié)點 的意思

是不是首先判斷節(jié)點存在再判斷節(jié)點不是空節(jié)點我猜的

正在回答

3 回答

上面x!=null是提供了一個方法,只是確保函數(shù)一定運行,后面判斷y!=null是判斷var x=document.getElementsByTagName("li")[0];有沒有前一個節(jié)點的,判斷的內(nèi)容不是同一個,我也是弄了兩天才弄明白的,首先你要分開看,不要揉在一起想,把每一段為什么要這樣寫的目的搞清楚了,你就對這個代碼有全新認識了。

第一段:

?function get_previousSibling(n){

? ? ? ? var x=n.previousSibling;

? ? ? ? while (x && x.nodeType!=1){

? ? ? ? ? ? x=x.previousSibling;

? ? ? ? }

? ? ? ? return x;

? ? }

第二段:

?var x=document.getElementsByTagName("li")[1];

? ? document.write(x.nodeName);

? ? document.write(" = ");

? ? document.write(x.innerHTML);

第三段:

?var y=get_previousSibling(x);

? ??

? ? if(y!=null){

? ? ? ? document.write("<br />previoussibling: ");

? ? ? ? document.write(y.nodeName);

? ? ? ? document.write(" = ");

? ? ? ? document.write(y.innerHTML);

? ? }else{

? ? ? document.write("<br>已經(jīng)是最后一個節(jié)點"); ? ? ?

? ? }

把每段為什么這樣寫的目的弄清楚了就OK了

0 回復 有任何疑惑可以回復我~
#1

再碼一段 提問者

懂了。謝了~
2017-03-23 回復 有任何疑惑可以回復我~
#2

再碼一段 提問者

我是這樣理解的 while (x && x.nodeType!=1),這里前半句x其實就等于x=true,但是這是&&條件,都為真才執(zhí)行。所以存在一種可能,就是x=false,類型是一。那就直接返回元素節(jié)點了。 但是返回的x還可能是不存在的,也就是false 所以還需要單獨再判斷一次。 表述不準確,大概是這個意思吧?
2017-03-23 回復 有任何疑惑可以回復我~
#3

qq_北海道和風_0 回復 再碼一段 提問者

我個人認為,如果x=false,應(yīng)該也就沒有必要判斷類型了,個人認為
2017-03-23 回復 有任何疑惑可以回復我~

可以看成是x!=null,保證x一定存在,為了保證代碼嚴謹

0 回復 有任何疑惑可以回復我~
#1

再碼一段 提問者

所以啊就是這樣,第二次執(zhí)行函數(shù)時,最后返回給y的x,已經(jīng)判斷x一定存在了,y=x,還判斷y!=null。這不是重復了嗎?
2017-03-23 回復 有任何疑惑可以回復我~

其實你想多了,你仔細看看if ? ?else這個判斷語句,因為var y=get_previousSibling(x);是獲得?var x=document.getElementsByTagName("li")[1];的向上一個節(jié)點,所以設(shè)var x=document.getElementsByTagName("li")[0];已經(jīng)是第一個節(jié)點了,就不可能還有向上節(jié)點。就輸出else這個語句了,你沒有讀懂這個代碼的意思而已

0 回復 有任何疑惑可以回復我~
#1

再碼一段 提問者

那句while (x && x.nodeType!=1)是什么意思?后半段判斷類型不等于一,就繼續(xù)往上找上一個元素。前半句x判斷什么?
2017-03-23 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

 if(y!=null) 這個是什么意思?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號