当我在console
console.log("1");
setTimeout(function(){console.log("2");},3000);
console.log("3");
setTimeout(function(){console.log("4");},1000);
我明白了:
在3
&之后用蓝色写的数字是多少?在4
之前?
答案 0 :(得分:6)
该数字是您执行的最后一个语句的返回值。
console.log("1");
setTimeout(function(){console.log("2");},3000);
console.log("3");
setTimeout(function(){console.log("4");},1000);//-- the return of this call
第一行打印1
,返回值为undefined
但被丢弃
第二行创建3秒计时器,返回值是计时器参考,但再次被丢弃
第三行打印3
,返回值为undefined
但被丢弃
最后一行创建1秒计时器,因为这是语句结果打印的最后一个语句
1秒后,4
打印出来
最后是2
打印
答案 1 :(得分:5)
该数字是调用setTimeout
函数后返回的最后一次超时的ID。该ID可用于使用clearTimeout
功能清除超时。 clearTimeout(timeoutId)
答案 2 :(得分:-2)
这可能是你在不同地方执行的帖子中没有包含的代码,当在JS Bin上检查时,这段代码显然只显示1,2,3,4