2014-12-04 57 views
0

现在我测试下面的代码约setIntervalsetTimeoutString作为参数。setInterval或setTimeout与JavaScript中的字符串

>> setInterval(String,2) 
2214 
>> setInterval(String,2) 
2215 

在IE浏览器,输出为2214,我想知道为什么结果是2214

但在Chrome测试,输出

setInterval(String, 2) 
18 
setInterval(String, 2) 
19 

根据对setInterval的语法:

setInterval(func|code, delay) 

所以我尝试以下

>> String 
function String() {  [native code] } 
>> String() 
"" 

没有实际数字结果。

我也尝试与setTimeout

我不清楚发生了什么那些代码?

回答

1

setInterval()setTimeout()返回计时器ID。这些可以帮助浏览器在清除它们时再次识别它们,但不需要担心它们的具体值。

运行的函数/代码与返回值setInterval()setTimeout()无关。代码的返回值AFAIK将被丢弃,除非你把它放在某个地方。正如Thilo在评论中所言,代码甚至在setInterval()setTimeout()返回时都不会运行。

+0

特别是,它们与被调用的函数返回(甚至不会被调用)完全无关。 – Thilo 2014-12-04 03:38:48

+0

@Thilo谢谢,只是补充说。 – FlyingPiMonster 2014-12-04 03:41:57

相关问题