我是靠谱客的博主 迷路小蝴蝶,最近开发中收集的这篇文章主要介绍while 语句中的赋值表达式问题 while(child = el.firstChild),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
遇到一段很奇怪的代码,分享一下
const fragment = document.createDocumentFragment();
let child;
while((child = el.firstChild)){ // 1
fragment.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的目的
最后
以上就是迷路小蝴蝶为你收集整理的while 语句中的赋值表达式问题 while(child = el.firstChild)的全部内容,希望文章能够帮你解决while 语句中的赋值表达式问题 while(child = el.firstChild)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复