JavaScript中带字符串的setInterval或setTimeout
现在,我使用JavaScript中带字符串的setInterval或setTimeout,javascript,settimeout,setinterval,Javascript,Settimeout,Setinterval,现在,我使用String作为参数,测试以下关于setInterval和setTimeout的代码 >> setInterval(String,2) 2214 >> setInterval(String,2) 2215 在IE中,输出是2214,我想知道为什么结果是2214 但是在Chrome中测试,输出是 setInterval(String, 2) 18 setInterval(String, 2) 19 根据setInterval的语法: setInter
String
作为参数,测试以下关于setInterval
和setTimeout
的代码
>> 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
setInterval(String, 2)
20
setInterval(String, 2)
21
setTimeout(String, 2)
22
我不清楚这些代码发生了什么?setInterval()
和setTimeout()
返回计时器ID。如果清除它们,这些将帮助浏览器再次识别它们,但不必担心它们的特定值
运行的函数/代码与
setInterval()
或setTimeout()
的返回值无关。代码的返回值AFAIK将被丢弃,除非您将其放在某个地方。正如Thilo在评论中所说,在setInterval()
和setTimeout()
返回时,代码甚至都不会运行。特别是,它们与被调用函数返回的内容(甚至还没有被调用)完全无关。@Thilo谢谢,刚刚补充了这一点。