在写javascript过程中使用到setInterval时,需要传递一个类似于 main.check()这样的参数时,出现了这样的错误信息。
Firefox错误信息:useless setInterval call (missing quotes around argument?)
ie错误信息: 参数无效,42行。
[javascript]
<script language="javascript">
jQuery.noConflict();
jQuery(function($){
$(document).now();
});
jQuery.fn.extend({
now: function(){
var main = this;
this.extend({
gettime: function(){
var date = new Date();
jQuery('body').html(date.getTime());
}
});
// setInterval( main.gettime(), 1000); // 错误产生地方
setInterval( function(){ main.gettime() }, 1000); // 修改为这样既可
}
});
</script>
[/javascript]
解决方法很简单。在网上搜索到的。在很多时候比如setTimeout等这样的参数或者自定义的回调函数调用时,都有可能会遇到这样的问题,
主要是因为“main.method()”这样的格式方法所导致的,无法作为一整个函数体来执行,所以在外嵌套一个function(){ } 匿名函数体,这样就可以正常执行了。
原文地址是:useless setInterval call (missing quotes around argument?)