这些函数将以什么顺序执行?

时间:2014-11-26 16:51:32

标签: javascript function

我正在重写我的一个项目,这次我决定使用自调用函数来保存一些代码,但是我很不确定这是否可行,因为我不想让自调用函数在页面加载之前运行+已运行init函数。

我想要的预期执行顺序是:

init: function() {
    //some code gets executed here
    createCalendar(2015);
}

addEventListnrs: (function() {
    //event listeners gets added here on elements that gets created
    //in the createCalendar function
})()

createCalendar: function(year) {
    //creates elements that the addEventListnrs uses
}

window.onload = init;

问题是,这是我将要获得的,或者在init运行之前addEventListnrs函数是否会自行调用?

1 个答案:

答案 0 :(得分:2)

假设您的标签是有效代码(即您已经删除了一些代码)

  1. IIFE 标记为 addEventListnrs 在解释器到达时自动调用
  2. ...在页面加载时经过一段时间......并完成加载
  3. load 事件将发送到窗口
  4. init由侦听器
  5. 调用 {li> createCalendarinit 调用