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

新手上路,while 语句中的赋值表达式问题 while(firstChild = el.firstChild)跪求!

新手上路,while 语句中的赋值表达式问题 while(firstChild = el.firstChild)跪求!

慕标琳琳 2019-11-03 15:48:02
最近看到这样一段代码:letfragment=document.createDocumentFragment();letfirstChild;while(firstChild=el.firstChild){fragment.appendChild(firstChild);}returnfragment;代码中如果把fragment.appendChild(firstChild)注释掉,则会进入死循环,如果在while语句中去打印el.firstChild,则发现每次循环都在递进DOM节点,直到最后为空。请问这是什么原理呢?有没有这方面的资料文章呢?
查看完整描述

2 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

fragment.appendChild()具有移动性相当于把el中节点移动过去
letfragment=document.createDocumentFragment();letfirstChild;while(firstChild=el.firstChild){fragment.appendChild(firstChild);}console.log(el.firstChild);//你打印一个这个就明白了returnfragment;
                            
查看完整回答
反对 回复 2019-11-03
  • 2 回答
  • 0 关注
  • 336 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号