我正试图在我的_create中调用cycle_pages,但是我遇到了一些范围问题。一旦我调用setTimeout,我就改成了窗口的范围而不是我的匿名函数。我尝试了一些东西。最符合逻辑的似乎是
function cycle_pages(){
console.log("hello");
change_page(1);
setTimeout(function (self) {
self.cycle_pages();
}, 1000);
}
但我也尝试了
的变体function cycle_pages(){
console.log("hello");
change_page(1);
setTimeout('cycle_pages()', 1000);
}
我尝试将函数移动到全局范围,但这会导致change_page()超出范围。
任何提示?完全粘贴http://jsfiddle.net/vn7Re/1/
答案 0 :(得分:1)
你可以让这更简单:
function cycle_pages(){
console.log("hello");
change_page(1);
setTimeout(cycle_pages, 1000);
}
您不需要在setTimeout中创建匿名函数。
答案 1 :(得分:0)
setTimeout
函数在调用时没有提供任何参数,所以你可能想要更像这样的东西:
function cycle_pages() {
var self = this;
change_page(1);
setTimeout(function() {
self.cycle_pages();
}, 1000);
}