立即函式
1、方式一
(function () { // open IIFE
// inside IIFE
}()); // close IIFE
2、方式二
(function () { // open IIFE
// inside IIFE
})(); // close IIFE
問題如下:
1、方式1 中 (function(){}()) 中 function(){}后加一()如何理解
2、方式2 中 ()后接一(),如何理解
3、為什么
function () { // open IIFE
// inside IIFE
}(); // close IIFE
這種形式不可以?
4、立即執行函式必須是運算式 ,這個運算式 到底 是什么意思, 搞不懂 ,一頭 霧水呀。
uj5u.com熱心網友回復:
問題1相當于
a=function(){};//a是方法物件或函式指標
a();//括號是方法呼叫
如果方法有引數
a=function(str){};
a(”test”);//就不光是括號了,還要帶引數
問題2
括號作用同問題1
問題3
效果等同于問題2,只不過問題2的方法物件用括號括起來。按照優先級,該括號有無不影響結果
問題4
function(str){};只是方法定義,所以不是運算式,但方法呼叫是運算式,所以要function(str){}();前面的function(str){}代表方法物件(或函式指標),后面的括號表示方法呼叫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/159960.html
標籤:JavaScript
上一篇:如何一鍵自動填寫網頁資訊
