鍍金池/ 問答/HTML/ javascript中這兩個自執(zhí)行函數(shù)有什么區(qū)別?

javascript中這兩個自執(zhí)行函數(shù)有什么區(qū)別?

(function test(){
    console.log(123)
}())

(function test(){
    console.log(123)
})()


以上兩段代碼有什么區(qū)別呢?好像都能運行?
回答
編輯回答
尛憇藌

(1 + 2) + 3 = ?
1 + (2 + 3) = ?

以上兩個算式有什么區(qū)別?貌似計算結(jié)果一樣?

2018年6月9日 15:18
編輯回答
安淺陌

準(zhǔn)確的說上面的兩個是立即調(diào)用函數(shù),立即調(diào)用函數(shù)和自執(zhí)行函數(shù)的區(qū)別你可以查閱《深入理解javascript》的第4章立即調(diào)用的表達式。上面的兩個立即調(diào)用函數(shù)作用沒有區(qū)別,不過大多數(shù)推薦使用第一種,說是作為一個整體更符合語義。

2018年7月24日 19:16
編輯回答
萌面人

區(qū)別:寫法不同。。。

2017年8月6日 18:10
編輯回答
涼汐

沒區(qū)別。加括號或其它是為了將函數(shù)聲明轉(zhuǎn)化為函數(shù)表達式,因為函數(shù)聲明后面不能加括號,函數(shù)表達式可以跟括號。

// 函數(shù)聲明
function foo() {}() // 出錯 

所以無論加括號或其它都是一樣的。

2017年11月23日 14:48
編輯回答
孤星

沒有區(qū)別。

不光如此,還可以這么寫:
clipboard.png

2017年4月20日 07:00
編輯回答
耍太極

第一個是把實參帶入到函數(shù)體里面去執(zhí)行。

第二個是先計算函數(shù)體,把形參的地方留空?然后把實參帶進去執(zhí)行。

(個人感覺。。)

2017年6月18日 02:24
編輯回答
只愛你

都是匿名函數(shù),效果沒差。

2017年11月11日 17:12
編輯回答
擱淺
;(function () {
    // 這個看起來更符合正常思維一些
})();
2018年6月21日 21:00