我一直看到IIFE。
我看到一系列陈述未公开,即它们没有用括号括起来。
为什么我没有看到函数后跟其调用
// lib code...we are inside an IIFE
function fooName () {
}
fooName();
// lib code...
在不需要闭包时立即调用一系列语句,即你不需要持久或静态局部变量?
这个习语/模式有问题吗?它有名字吗?是用过吗?
非“小”代码
function manageGlobal() {
if (win.$A && win.$A.cg) {
$A.extend($A, window.$A);
} else if (window.$A) {
$A_previous = window.$A;
} else {
$A = window.$A = {};
}
}
manageGlobal();
答案 0 :(得分:2)
这只是一个函数声明,然后是它的调用。
它没有名称,因为它有没有特异性:它只是语言的基本显而易见的使用。
顺便说一句,它没有IIFE的优势:
如果您不需要关闭,并且不需要避免命名空间污染,因为您在一个小的IIFE中,那么您可以直接包含您的函数中的代码而不是声明它。