三、iife
iife就是immediately-invoked function expression,即時呼叫函式表示式
如果乙個函式,在定義的時候,我們就想直接呼叫它,就是乙個iife。
我們試圖在定義函式的後面,直接寫圓括號:
1 function fun()();
控制台報錯,這是因為函式是乙個函式體,並不是表示式,只有表示式能夠用()來執行。
所以就要把function fun(){}「降級」, 從函式體降級為表示式。方法有很多:
1+function fun()();
4-function fun()();
更通常的:
1(function fun())();
用這種方法定義的函式,名字是無效的,其他的地方想呼叫這個函式
1fun("嘻嘻");
就會報錯。
所以iife裡面的函式,都是匿名函式:
1(function())();
上面就是乙個標準的iife。
設計乙個函式,這個函式接收三個引數,比如sum(4,7,9);返回的是前兩個數字大的那個數字,與第三個數字的和。
1sum(4,2,3); //7
2sum(2,4,3); //7
3sum(5,4,3); //8
1function sum(a,b,c))(a,b) + c;
5}紅色部分是乙個iife,本質上是乙個表示式,表示式計算之後,就是值,什麼值呢?a、b中大的那個數字。
JS節流實現 支援多個函式同時呼叫
限制乙個函式在一定時間內只能執行一次 之前有關於js防抖函式的實現,可以見js防抖函式支援多個函式呼叫 本文採用的是時間戳結合定時器方式進行節流,且可以同時支援多個函式的呼叫 立即執行,適用於頁面進入後立即載入資料,在wait時間內,fun的呼叫不會再執行 呼叫示例 預設執行後,在1500毫秒內再次...
何時呼叫拷貝建構函式
拷貝建構函式是一種特殊的建構函式 拷貝建構函式是由編譯器呼叫,用來完成一系列基於同一類的其他物件的構件及初始化。拷貝建構函式的一般形式 類名 類名 變數名 函式體 拷貝建構函式的名稱必須和類名一致,形參必須是唯一的 不可改變的本型別的乙個引用型別的變數。拷貝構造函式呼叫的三種情況 物件以值傳遞的方式...
probe函式何時呼叫的
linux中 probe函式何時呼叫的 所以的驅動教程上都說 只有裝置和驅動的名字匹配,bus就會呼叫驅動的probe函式,但是有時我們要看看probe函式裡面到底做了什麼,還有傳遞給probe函式的引數我們就不知道在哪定義 反正不是我們在驅動裡定義的 如果不知道傳遞進的引數,去看probe函式總是...