这个问什么setInterval没有重复调用函数?
<script type="text/javascript">
function C(){this.test = "abc";}
var c = new C();
C.prototype.xx = function(obj){console.log(obj.test);}
c.xx(c);c.xx(c);c.xx(c);c.xx(c);c.xx(c);c.xx(c);
setInterval(c.xx(c),50);
</script>
setInterval(c.xx(c),50); 这句话是把函数调用后返回值给了setInterval,第一次调用时,会执行c.xx(c),由于c.xx(c)中没有return任何值,函数默认返回了undefined,当第二次调用时,setInterval的第一个参数就变成了undefined,就不会重复调用了。
可以把setInterval(c.xx(c),50); 改成setInterval('c.xx(c)',50); 或者setInterval(function(){c.xx(c)},50);