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

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

這里為什么是(x && x.nodeType!=1) ?

function get_nextSibling(n){

? ? ? ? var x=n.nextSibling;

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

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

? ? ? ? }

? ? ? ? return x;

? ? }

這里括號里的 && ?x!=1 ? ? ?有必要嗎?為什么?

正在回答

4 回答

操作符之間的優(yōu)先級(高到低):

算術操作符 → 比較操作符 → 邏輯操作符 → "="賦值符號

所以這里并沒有上面所說的x !=1,因為邏輯操作符的優(yōu)先級是低于比較操作符的,也就是先比較在判斷邏輯關系的

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

元素節(jié)點nodetype是1 如果不是就跳過 如果是就返回值。

加上x!=1判斷X這個節(jié)點是否存在的意思

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

樓上回答是對的

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

因為有的瀏覽器不會忽略標簽之間的空白符(瀏覽器的JavaScript解析器會把空白符也當節(jié)點去處理),空白符相當于字符串,字符串(Text)的nodeType類型是3.

加上這個x.nodeType!=1判斷如果nodeType不是元素(Element)的話,就繼續(xù)查找到正確的節(jié)點。

<li id="a">javascript</li> ??

<li id="b">jquery</li> ??

<li id="c">html</li>

像li標簽這樣換行的話就有些瀏覽器就會認為有空白符存在,所以把這些標簽都挪成1行就沒問題了(但是這樣代碼格式看起來就很難看)。

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

長路漫浩浩 提問者

請看完我的問題,我問的是為什么會有“x!=1”。
2017-08-28 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這里為什么是(x && x.nodeType!=1) ?

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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