IIFEs

function statements

function statements在執行前會先透過Hoisting儲存在記憶體,
所以可以提前執行不會有問題。

greeting(); //可以被提前執行

function greeting(){
  console.log('Good');
}

function expressions

function expressions執行前不會進記憶體,
所以提前執行會出問題。

greeting(); //→不會理你

var greeting=function(){
 console.log('GOOD');
}

IIFEs

透過function expressions建立函式,並且立刻執行它。

沒用IIFEs時

var greeting=function(){
 console.log('GOOD'); 
}

//Console Panel
//Nothing

使用IIFEs時

var greeting=function(){
console.log('GOOD'); 
}();
//會立刻執行

//Console Panel
//GOOD