我的理解和疑惑,加了点注释
function get_nextSibling(n){//n为假定的一个初始节点,形参
var x=n.nextSibling;//x为假定节点n的下一个节点,形参
while (x && x.nodeType!=1){//如果下一个节点(即x)不是元素节点
x=x.nextSibling;//就把x变成当前节点(作用相当于n),继续循环验证
}
return x;//是元素节点,则返回形参x
}
var x=document.getElementsByTagName("li")[0];//x被赋值为实参,这里的赋值应该与函数内的x无关
var y=get_nextSibling(x);//调用函数来找出y是x的下一个元素节点
if(y!=null){//验证y是否为最后一个元素节点
不知道对不对,但不懂的还是n为什么会被假定为节点,是因为.nextSibling属性而被当作一个节点吗