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