1. 程式人生 > >day22 立即執行函式

day22 立即執行函式

1、Javascript引擎在解析程式碼時會將函式宣告提升到當前執行期上下文(作用域),而函式表示式必須等到Javascirtp引擎執行到它所在行時,才會從上而下一行一行地解析函式表示式;
2、只有表示式能被執行符號()執行,執行完立即銷燬。

立即執行函式的格式:

1、 ( function ( ) { } () );
2、 ( function ( ) { } ) ();
3、 function前面加運算子" + 、- 、!"等。**

       在function前面加!、+、 -甚至是逗號等到都可以起到函式定義後立即執行的效果。
       運算子將函式宣告轉換成函式表示式,消除javascript引擎識別函式表示式和函式宣告的歧義,告訴javascript引擎這是一個函式表示式,不是函式宣告,可以在後面加括號,並立即執行函式的程式碼。
       加括號是最安全的做法,因為!、+、-等運算子還會和函式的返回值進行運算,有時造成不必要的麻煩。W3C 建議用第一種

執行完被釋放,立即銷燬

(function test(){
	a = 123;
	console.log(a);
}());

針對初始化功能的函式

 var num = (function (a , b, c){
 	var d = a + b + c;
	 return d;
}(1, 2, 3));