首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery UI小部件创建范围问题

jQuery UI小部件创建范围问题
EN

Stack Overflow用户
提问于 2012-03-26 04:40:30
回答 2查看 282关注 0票数 0

我试图在我的_create中调用cycle_pages,但是我遇到了一些作用域问题。一旦我调用setTimeout,我就会切换到window的作用域,而不是匿名函数的作用域。最符合逻辑的似乎是

代码语言:javascript
运行
复制
function cycle_pages(){
    console.log("hello");
    change_page(1);
    setTimeout(function (self) {
        self.cycle_pages();
    }, 1000);
}

但我也尝试过各种不同的

代码语言:javascript
运行
复制
function cycle_pages(){
    console.log("hello");
    change_page(1);
    setTimeout('cycle_pages()', 1000);
}

我尝试将该函数移动到全局作用域中,但这导致change_page()超出了作用域。

有什么建议吗?完整粘贴到此处http://jsfiddle.net/vn7Re/1/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-26 04:48:27

setTimeout函数被调用时,它没有被提供任何参数,所以您可能需要更多这样的参数:

代码语言:javascript
运行
复制
function cycle_pages() {
    var self = this;
    change_page(1);
    setTimeout(function() {
        self.cycle_pages();
    }, 1000);
}
票数 0
EN

Stack Overflow用户

发布于 2012-03-26 10:30:23

你可以让这一切变得更简单:

代码语言:javascript
运行
复制
function cycle_pages(){
    console.log("hello");
    change_page(1);
    setTimeout(cycle_pages, 1000);
}

您不需要在setTimeout中创建匿名函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9863850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档