可能重复:
setInterval() 只运行一次函数
我正在使用以下脚本来理解函数上下文的概念。我排除了从 20 开始并重复的警报。但是在显示 20 之后就很正常了。当使用 call 方法并提供 o2 时,它应该得到值 20 并从那里重复。
<script type="text/javascript">
var o2 = {
local: 20
}
var local=0;
function someFuncObject(){
alert('Thats method object again ' + this.local++);
}
// window.setInterval(someFuncObject, 2000); //This works perfect!!!
window.setInterval(someFuncObject.call(o2), 2000); // This does not, why?
</script>
另一方面,如果我使用window.setInterval(someFuncObject, 2000);
它可以正常工作并一次又一次地重复。有什么问题?