1. 程式人生 > >js 立即執行函式表示式 問題

js 立即執行函式表示式 問題

js 語言有許多黑科技。

一般像想象中的這樣的程式碼

	function(para){
           ....
	}(realPara)
定義函式的同時再進行呼叫,在瀏覽器中會報錯。常見的變為立即執行函式的方法是加’適當的括號‘,如
        (function(value){
            console.log(value)
        }(a))
        (function(value){
            console.log(value)
        })(a)
在整體外加括號或在函式定義外加括號。今天又見到一種方式。
   let a = 2;
        let another ;
        another=function(){a=1;}(),function(val){console.log(val);}(a);

在賦值語句中呼叫兩個立即執行函式,美中不足是變數要提前定義,不能在變數初始化的同時右邊有兩個立即執行函式,只有一個是可以的。可能是由於初始化和逗號表示式天生抵觸吧。 也希望有人能指點原因。

js中的位運算子,運算元為32為有符號整形,除了>>>是明確的無符號右移。