函数不是得调用才能用吗?为什么例题中的get_nextSibling(n)没有调用呢?哪位老师愿意给讲解一下例题啊,稍细点,有点不懂
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的值是一直在变的。
形参, 就像javal里面的public void test(string neme ,int age) 一样,我是这样理解的