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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于while不明白的同學(xué)可以看看!

看好多同學(xué)有疑問(wèn)。解析下這個(gè)代碼:

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

? ? ? ? ? ? x=x.nextSibling;

? ? ? ? }

? ? ? ? return x;

? ? }

首先,這個(gè)判定是在函數(shù)內(nèi)部。函數(shù)的參數(shù)是n,n的值是在定義y的時(shí)候傳給它的。即n=document.getElementsByTagName("li")[0]也就是所有l(wèi)i元素的第一個(gè)li。 傳進(jìn)來(lái)之后呢? 通過(guò)函數(shù)進(jìn)行處理之后賦值給y。 函數(shù)怎么處理的呢?首先n被傳入,函數(shù)內(nèi)部定義x=n.nextSibling。這里就是第一個(gè)li元素后面的元素賦值給x。然后開始判斷x是否等于1。不等于1呢?x=x.nextSibling; 不等于1就意味著后面的換行符被當(dāng)作空白的節(jié)點(diǎn)那么這個(gè)節(jié)點(diǎn)后面的節(jié)點(diǎn)就是我們想要的。所以x=x.nextSibling,就是自身后面的節(jié)點(diǎn)賦值給自己。此時(shí)x就是這個(gè)空節(jié)點(diǎn)后面的兄弟節(jié)點(diǎn)。也就是第二個(gè)li元素。 如果等于1呢?x=n.nextSibling n是被傳入第一個(gè)li元素節(jié)點(diǎn)了,那么n.nextSibling就是第一個(gè)li后面的兄弟元素(第二個(gè)li元素),并賦值給自己,此刻x等于它自身后面的兄弟元素。


正在回答

2 回答

此中的1表示什么意思啊?是表示判斷是否為空的意思嗎?

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

imSeveNyU

x && x.nodeType!=1這里的x是指是否存在,x.nodeType判斷節(jié)點(diǎn)的類型,返回值用12個(gè)數(shù)值常量來(lái)表示,1的意思是元素節(jié)點(diǎn)。換句話說(shuō),這里判斷是空白節(jié)點(diǎn),如回車,空格。
2015-10-01 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕瓜1048528 回復(fù) imSeveNyU

x.nodeType有什么用?它都有值的。還有是(x&&x.nodeType)!=1,這樣運(yùn)算的嗎?
2015-10-03 回復(fù) 有任何疑惑可以回復(fù)我~

如果連續(xù)兩個(gè)空白節(jié)點(diǎn)呢?那這個(gè)while就沒(méi)有效果了。有什么更好的判斷方法么?

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

關(guān)于while不明白的同學(xué)可以看看!

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

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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