为了账号安全,请及时绑定邮箱和手机立即绑定

while里面这个x不是节点吗?怎么能直接放while里进行true/false的判断

 var x=n.nextSibling;
 while (x && x.nodeType!=1){
     x=x.nextSibling;
 }
 return x;


正在回答

2 回答

x在这里这就是一个代名词,节省编写代码的字符。

另一方面,引用别人的回答如下

这个条件是且的关系,即是说当x为true同时nodeType!=1都成立时执行花括号里面的内容。

x什么时候为true呢?n.nextSibling返回null时,为false。就是说n.nextSibling返回不为null。

当n有兄弟节点的时候返回值不为null。x在这里就是为了确保n有兄弟节点。x.nodeType!=1很简单了,不为元素节点就成立,为元素节点时就不执行,跳过。

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

慕粉3233872 提问者

非常感谢!
2016-11-02 回复 有任何疑惑可以回复我~

是一个节点,但是做true/false判断是可以的。只要这个值不为0,那就为真,为0则为假。

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

慕粉3233872 提问者

那这个x放在这里有什么意义呢?判断它是不是一个节点吗?
2016-11-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

while里面这个x不是节点吗?怎么能直接放while里进行true/false的判断

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信