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

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

胡子哥哥

fragment.appendChild()具有移动性相当于把el中节点移动过去letfragment=document.createDocumentFragment();letfirstChild;while(firstChild=el.firstChild){fragment.appendChild(firstChild);}console.log(el.firstChild);//你打印一个这个就明白了returnfragment;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript