浏览器ui线程的一个小疑问?
今天读到《高性能JavaScript》中的关于ui线程的章节,里面说到里ui队列,然后我的疑问就来了。代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题</title>
</head>
<body>
<script type="text/javascript">
var div =document.createElement('div');
div.innerHTML = '我是div';
document.body.appendChild(div);
if(document.getElementsByTagName('div')[0]){
console.log('有');
}else{
console.log('无');
}
</script>
</body>
</html>
按照书上说的,这段代码应该会产生一个新的ui更新,即document.body.appendchild,并且会被添加到ui队列中。。当脚本全部执行完成后,才会执行ui更新。。那么,appenChild后面的代码,为什么会执行console.log(‘有’),而不是 ‘无’ 呢。。