【发布时间】:2017-12-20 00:55:54
【问题描述】:
在声明正确之前不能使用函数 express 吗?但也通过按键功能传递。这个魔法是怎么发生的?
我正在编写代码,并在查看它时注意到了它。
var controller = (function(budgetCtrl, UICtrl){
var setUpEventListeners = function(){
//CTRLADDITEM is called below
document.querySelector(DOM.inputBtn).addEventListener('click', **ctrlAddItem**);
document.addEventListener('keypress', function(e){
if(event.keyCode === 13 || event.which === 13){
**ctrlAddItem();**
}
});
}
var **ctrlAddItem** = function(){
updateBudget();
}
};
}
})(budgetController, UIController );
【问题讨论】:
-
是
easy === looooooong? -
请将您的代码减少到证明您的问题所需的最低限度。很难说“这个功能”是什么。
-
当你真正触发事件处理程序时,它将被声明。
-
查找 IIFE(I立即I调用F函数E xpression)。
-
代码太多了,即使你删除了几十个无用的空行。见How to Ask 和minimal reproducible example。
标签: javascript hoisting