我目前正在处理一个脚本文件,其中原作者将多个IIFE包装在一起。后代IIFE是针对某些用例编写的。例如,可能有一个用于搜索功能,另一个用于导航栏等:
(function($) {
(function() {
var $search = $(".search");
$search.on("focus", function() {
// Do something
});
}());
(function() {
var $nav = $(".nav"),
$navLink = $(".nav__link");
$navLink.on("click", function() {
// Do something
});
}());
// More IIFEs
}(jQuery));
这样做有什么好处吗?总的来说,为每个行动创建IIFE都是多余的吗?
答案 0 :(得分:0)
开发人员所做的是纯粹的风格方法。他将UI初始化的不同部分分成了所有需要执行的函数。有关开发人员为什么以这种方式分离它们而不是为每个方法命名方法并在此上下文中执行方法的原因,您将不得不向开发人员询问。