js關于setInterval 傳入類似于對象參數?
這個問什么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>
2017-02-06
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);?