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

在线等,挺急的!while 语句中的赋值表达式问题 while(firstChild = el.firstChild)求解答!

在线等,挺急的!while 语句中的赋值表达式问题 while(firstChild = el.firstChild)求解答!

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

2 回答

?
胡子哥哥

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

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

添加回答

举报

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