IIFE 立即执行的函数 (Immediately Invoked Function Expression)

Node.js IIFE 立即执行的函数 (Immediately Invoked Function Expression)

什麽是 IIFE 立即执行的函数

IIFE 立即执行的函数 (Immediately Invoked Function Expression)

  • 立即执行的函数,马上执行 function 的 expression ()
  • 避免 local scope 的变数汙染到 global scope
  • 避免 global scpoe 变数被汙染,影响 local scope 程式执行
var greeting = `Hello`;
(function(name) {
    let greeting=`Hi`
    // Hi KJ
    console.log(`${greeting} ${name}`)
})(`KJ`);
(function($) {
    // $ 在函数内指的就是 jQuery,变数不会被汙染
})(jQuery);

静态变数

用 IIFE 模拟出静态变数的结构

var Employee = (function() {
    var sharedVariable = 0;

    function Employee() {
        ++sharedVariable;
        console.log("sharedVariable : " + sharedVariable);
    }

    return Employee;
})();

// 1
new Employee();
// 2
new Employee();
// 3
new Employee();  
// 4
new Employee();  

参考资料