while 语句中的赋值表达式问题 while(child = el.firstChild)
遇到一段很奇怪的代码,分享一下
const fragment = document.createDocumentFragment();
let child;
while((child = el.firstChild)){ // 1fragment.appendChild(child) // 2
}
return fragment
while里面到底是如何运行的呢?
在第一行的括号里面进行了两次操作:
第一次就是赋值: child = el.firstChild;
第二次就是判断child是否为空,即while(child)
在第二行中,
fragment就把el.firstChild(el.children[0])抽离了出来,这个操作是move dom, el.children[0]被抽出,在下次while循环执行firstChild = el.firstChild时读取的是相对本次循环的el.children[1]以此达到循环转移dom的目的
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
