为了账号安全,请及时绑定邮箱和手机立即绑定

在nodejs中用setTimeout时 第一个参数用字符串 为什么会报错?

在nodejs中用setTimeout时 第一个参数用字符串 为什么会报错?

沧海一幻觉 2018-10-27 16:15:33
直接贴代码for(var i=0;i<5;i++){    setTimeout('fn()',1000);}function fn(){console.log(i)}报错为TypeError: "callback" argument must be a function但是在chrome中用不会报错,可以运行。这是怎么回事?
查看完整描述

1 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

nodejs环境下和浏览器环境下不同

在nodejs环境下

If callback is not a function, a TypeError will be thrown.

在浏览器环境下,也是不推荐使用的

An optional syntax allows you to include a string instead of a function, which is compiled and executed when the timer expires. This syntax is not recommended for the same reasons that make using eval() a security risk.


查看完整回答
反对 回复 2018-11-27
  • 1 回答
  • 0 关注
  • 806 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信