search

Home  >  Q&A  >  body text

jquery - JavaScript closure problem, please advise?

I need a function to be executed once by default, and can also be called in jquery events. I am currently stuck in the second step...

(function(){
    // 这样会自动运行一次
})()

$(window).resize(function () {
    // 我还想在这里调用上面那个函数
});

I tried this:

var demo = (function(){
    // 这样会自动运行一次
})()

结果第二次调用就报错了,说不是一个函数、、、求大神指教下如何实现?前提是我不想直接是这样:

var demo = function(){
    // 这样会自动运行一次
};

demo()

$(window).resize(function () {
    demo();
});
伊谢尔伦伊谢尔伦2792 days ago383

reply all(2)I'll reply

  • 巴扎黑

    巴扎黑2017-05-19 10:35:51

    var demo = (function(){
        return arguments.callee
    })()
    或
    var demo
    ;(demo = function(){})()

    reply
    0
  • 滿天的星座

    滿天的星座2017-05-19 10:35:51

    var demo = function test(){
        // 这样会自动运行一次
        return test
    }();
    $(window).resize(demo);

    Try writing like this

    reply
    0
  • Cancelreply