首页  >  问答  >  正文

node.js - JavaScript自执行函数问题,求大神指教

之前提了一次问没整出结果,可能是我描述不够清晰吧,现在又从新整理了下思绪,具体如下:

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

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

疑问是有办法让demo第一次自动执行吗?然后还能在别的地方被调用?这样的代码体该如何优化,排除:arguments.callee,求大神指教下、、、先谢谢了。

PHP中文网PHP中文网2734 天前453

全部回复(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
  • 取消回复