首頁  >  問答  >  主體

node.js - JavaScript自執行函式問題,求大神指教

之前提了一次問沒整出結果,可能是我描述不夠清晰吧,現在又從新整理了下思緒,具體如下:

function demo(){
    // 各种实现
}
demo();    // 我希望它默认就执行一次,所以就这么调用了。

窗口事件:
$(window).resize(function(){
    demo();    // 这里也需要根据条件调用demo函数
});

疑問是有辦法讓demo第一次自動執行嗎?然後還能在別的地方被呼叫?這樣的代碼體該如何優化,排除:arguments.callee,求大神指教下、、、先謝謝了。

PHP中文网PHP中文网2737 天前455

全部回覆(5)我來回復

  • 世界只因有你

    世界只因有你2017-05-16 13:44:41

    demo=(function(){
        temp()    // 默认就执行一次
        return temp
    })()
    
    function temp(){
     // 各种实现
    }
    
    窗口事件:
    $(window).resize(function(){
        demo();    // 这里也需要根据条件调用demo函数
    });

    不知道這樣是否符合樓主要求

    回覆
    0
  • ringa_lee

    ringa_lee2017-05-16 13:44:41

    實現的方式有很多。匿名函數,自執行函數都可以。可參考以下:

    var demo = function(){
        var innerFunc = function(){
        
        }
        innerFunc();
        return innerFunc;
    }
    
    $(window).resize(function(){
    });

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:44:41

    樓主的意思是想要自行執行的匿名函數,然後另一個地方又想呼叫這個匿名函數嗎?

    回覆
    0
  • 大家讲道理

    大家讲道理2017-05-16 13:44:41

    你現在這個寫法沒什麼毛病啊

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:44:41

    自動執行的js就是(函數寫在這)() 這個形式,你也可以window.onload事件呼叫一次啊

    回覆
    0
  • 取消回覆