问答详情
源自:9-11 访问兄弟节点

例题函数看不懂啊

函数不是得调用才能用吗?为什么例题中的get_nextSibling(n)没有调用呢?哪位老师愿意给讲解一下例题啊,稍细点,有点不懂

提问者:天窗的蚂蚁 2016-02-27 12:02

个回答

  • aid123321
    2016-04-01 11:19:39

    var y=get_nextSibling(x);  这里调用的这个函数,这里的x值是  document.getElementsByTagName("li")[0]就相当于<li id="a">javascript</li>  这一行的的元素li,然后把这个x值传递到  function get_nextSibling(n)这个函数里面,这时的n的值就是<li id="a">javascript</li>这一行的元素节点li;然后就是下面的函数体里面的定义了,

    var x=n.nextSibling;

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

                x=x.nextSibling;

            }

            return x;

    这时的x=n.nextSibling就相当于,x=document.getElementsByTagName("li")[0].nextSibling;也就确定到了 <li id="b">jquery</li>   这一行的元素li

    下面是一个循环,如果while (x && x.nodeType!=1)  x的类型不是元素类型的话,执行   x=x.nextSibling;条件为true一直循环下去,return x;就是输出x的值。

    注意:document.getElementsByTagName("li")[0] 表示数组的第一个元素  例子:a【a,b,c,....】,a【0】=a;把这个值赋给函数function get_nextSibling(n),这个值是初始值,函数由于循环,x的值是一直在变的。

  • qq_闹闹猪_0
    2016-02-27 15:01:25

    形参, 就像javal里面的public void test(string neme ,int  age) 一样,我是这样理解的