【发布时间】:2011-10-04 17:43:31
【问题描述】:
只是想知道这是否是一种好的 JavaScript 实践。
假设我有很多网页都调用初始化函数“init()”,每次加载脚本时在我的模式中使用IIFE 来运行该函数是否正确?
var foo = (function() {
var bar = "something";
(function init() {
// Do something crazy that's gonna be the same across all my web pages
// like adding an event listener or something
// ...
document.write('page init...');
}());
function privatePage1() {
// This stuff is gonna be used only in page1.html via foo.privatePage1
document.write('page 1' + bar);
}
function privatePage2() {
// This stuff is gonna be used only in page2.html via foo.privatePage2
document.write('page 2' + bar);
}
return {
privatePage1: privatePage1,
privatePage2: privatePage2
}
}());
【问题讨论】:
-
您必须显示更多相关代码,然后我们才能为您的案例提供正确的答案。使用匿名函数通常是一种很好的做法,因为泄漏的变量更少。
标签: javascript design-patterns iife