useless setInterval call (missing quotes around argument?) setInterval 参数错误

/ 0评 / 0

在写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?)

发表评论

您的电子邮箱地址不会被公开。

*