// 第1种
(function fn(i) {
console.log(i) // 22
})(22);
// 第2种
(function () { // open IIFE
// inside IIFE
}()); // close IIFE
// 第3种
!function () { // open IIFE
// inside IIFE
}(); // close IIFE
// 第4种
void function () { // open IIFE
// inside IIFE
}(); // close IIFE
// 扩展:定时器函数
for (var i = 0; i < 3; i++) {
setTimeout(function (i) {
console.log(i)
}(i), 0)
}
function fn(i) {
console.log(i) // 22
}(55);
fn(22)