【发布时间】:2015-03-22 20:14:18
【问题描述】:
当我在控制台中执行以下代码时,我得到1,4, undefined 3,2.
我想知道为什么它不以1,3,4 和2 执行
因为在setTimeout(function(){console.log(3)}, 0); 中,毫秒参数是0。
(function() {
console.log(1);
setTimeout(function(){console.log(2)}, 1000);
setTimeout(function(){console.log(3)}, 0);
console.log(4);
})();
【问题讨论】:
-
undefined来自控制台,是函数执行的返回,不是console.log输出的 -
它返回 1,4,3,2 因为当您使用 setTimeout 时,您将代码放在另一个线程中运行
-
好的,错过了直接在控制台输入中输入的代码。否则在该脚本将永远不会记录的页面上
undefined。 -
因重复而关闭,因此很好地解释了实际发生的情况。 阅读所有 cmets 和所有答案 导致接受的答案未正确到达浏览器队列。
-
@RokoC.Buljan 这不是问题的重点......而且没有公认的答案
标签: javascript function