课程
/前端开发
/JavaScript
/JavaScript进阶篇
不理解为什么要加上x&&,如果下一个是空白节点,它的nodeType=3,但是x本身就为空,为空的话x难道不是为假吗,为假的话while语句就不会执行了
2016-03-29
源自:JavaScript进阶篇 9-11
正在回答
这里写上x,为真的时候是表示x存在,为假的时候是表示x不存在吧
作为一个函数,它不能保证你不传空值进去,
一旦x是空值x.nodeType就会报错,加上x&&可以避免这个,
这样写更严谨
举报
本课程从如何插入JS代码开始,带您进入网页动态交互世界
5 回答while(x && x.nodeType !== 1)中的X不是节点吗?它的nodeType可以等于1,但是X为什么也可以直接等有意1呢?
1 回答return x 是起着什么作用呢?如果没有的话y就是空的了。
1 回答不是很能理解x=n.nextSibling 还有为什么要加上x和&&.......
3 回答while语句中的判断还是没搞懂啊,x && x.nodeType!=1为什么要加个x,x的值为节点或null,能参与逻辑判断?
2 回答为什么 申明了x,而且给x赋值了,var x=n.nextSibling; 在while循环中又赋值一次,岂不是为兄弟节点的兄弟节点了??