看不懂这个x&&起到的作用,求解啊?

来源:9-11 访问兄弟节点

慕粉15160033427

2016-07-15 18:08

这个x&&x.nodeType!=1是什么意思呢??前面这个x&&   function get_nextSibling(n){        var x=n.nextSibling;        while (x && x.nodeType!=1){            x=x.nextSibling;        }        return x;    }

写回答 关注

4回答

  • 我是浩仔
    2016-07-22 11:03:48

    他这里是判断 var x=n.nextSibling;这句话中的x是否存在,如果存在再判断后面是否是元素节点,如果x不存在,就不会继续执行后面的代码,提升效率。

  • TCandice
    2016-07-17 16:14:33

    在这里它考虑了两种情况:

    1、前面确实有元素节点,那么直接返回x;   var x= n.nextSibling; return  x;

    2、前面有节点(x),并且,它不是元素节点(x.nodeType!=1);


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

    x = x.nextSibling;    (既然他不是元素节点,那么我们就再以这个非元素节点为目标,再向下找)

    }


    TCandi... 回复Charle...

    兄弟元素,我这里表示的

    2016-07-18 11:03:14

    共 2 条回复 >

  • 慕粉3473542
    2016-07-16 22:00:14

    && 是逻辑与运算,它两边的表达式计算结果都为true时,最终的返回值才为true. ||为逻辑或运算,即它两边的表达式中任何一个为true时,最终返回值为true。举个例子:var test=true&&false, test的值为false; var test=true||false, test的值为true. 你问题中的表达式是在判断:x存在,并且x 的类型不为Element(Nodetype:1)

  • 飞面大神
    2016-07-16 15:27:07

    &&表示并且,左右两边要同时成立,左边的x是一个布尔表达式,当x不等于0时成立,while(x)意思是当x存在时。整个的含义时当x存在,并且x的节点类型不是元素时,将x的先一个兄弟节点赋值给x

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468786 学习 · 22562 问题

查看课程

相似问题