阅读(2014) (2)

JavaScript 常见错误九:用字符串作为setTimeout 或者 setInterval的第一个参数

2016-02-24 16:05:20 更新

首先我们要声明,用字符串作为这两个函数的第一个参数并没有什么语法上的错误。但是其实这是一个非常低效的做法。因为从系统的角度来说,当你用字符串的时候,它会被传进构造函数,并且重新调用另一个函数。这样会拖慢程序的进度。

setInterval("logTime()", 1000); 

setTimeout("logMessage('" + msgValue + "')", 1000);

另一种方法是直接将函数作为参数传递进去:

`setInterval(logTime, 1000);   

setTimeout(function() { 

logMessage(msgValue); }, 1000);`