为了账号安全,请及时绑定邮箱和手机立即绑定

for(; n; n = n.nextSibling);这个奇怪的for用法是啥 。看下面

for(; n; n = n.nextSibling);这个奇怪的for用法是啥 。看下面

阿里斯托亚 2018-10-28 18:58:05
function siblings(elem) {    var r = [];    var n = elem.parentNode.firstChild;     for (; n; n = n.nextSibling) {        if (n.nodeType === 1 && n !== elem) {            r.push(n);        }    }    return r;}
查看完整描述

1 回答

已采纳
?
pardon110

TA贡献1038条经验 获得超227个赞

一个while循环迭代而已。

查看完整回答
反对 回复 2018-10-29
  • 阿里斯托亚
    阿里斯托亚
    不懂 就是圆括号里的语句不知道是啥意思
  • pardon110
    pardon110
    for(;;)是for语句的结构形式,只不过是在各个语句中间有的没有值而已。通常第一个分号前表示初始值,第二个判断布尔值决定是否继承循环,第二个分号之后是步长语句,通常是自增自减。文中的n.nextSibling显然是一个迭代器,代表将n对象的内部指针往后拔一下,直到为空即假,跳出循环。
  • 阿里斯托亚
    阿里斯托亚
    for(; n; n = n.nextSibling) 中间的n;啥意思
点击展开后面6
  • 1 回答
  • 0 关注
  • 1280 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信