本文主要是介绍通过setTimeout理解js异步原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在上一篇的文章中介绍了js异步原理,有的小伙伴可能还有些云里雾里,在本篇文章中将以新手很容易用错的setTimeout为例来解释js的异步原理。
首先我们看一个例子
<script>console.log(1);setTimeout(function(){console.log(2);},500);console.log(3);// 运行结果// 1// 3// 2
</script>
这里通过setTimeout延迟500毫秒执行,所以结果是1,3,2。这看起来明明就是异步操作啊,为什么说是同步呢?我们接着看下一个例子。
<script>var date = new Date();console.log('first time: ' + date.getTime());setTimeout(function(){var date1 = new Date();console.log('second time: ' + date1.getTime() );console.log( date1.getTime() - date.getTime() );},1000);for(var i=0; i < 10000 ; i++){console.log(1);}// 运行结果// first tim
这篇关于通过setTimeout理解js异步原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!