(function(){})()立即執行函式
阿新 • • 發佈:2022-04-21
立即執行函式(function(){})()
關鍵詞: 立即執行函式 匿名函式 作用域
格式: (function())()
作用: 立即執行函式(function())()
是匿名函式, 主要利用函式的作用域, 減少全域性變數的使用
解釋
前提知識
js中的函式通常有兩種命名方式,分別是 宣告式函式 和 函式表示式
// 宣告式函式
function func() {}
// 函式表示式
const func = function() {}
分析
-
當我們的有些簡單函式只執行一次的時候,我們通常會這麼做
// 宣告式函式 function func () {console.log('I am a cat')} func() // I am a cat // 表示式函式 const func = function () {console.log('I am a cat')} // 方法1 func() // I am a cat const func = function () {console.log('I am a cat')} () // 方法2 func // I am a cat
-
這時候我們會注意到函式的呼叫都要用到函式名, 那麼如果我們不想要這個函式名呢?
可以發現函式表示式 方法2 中在函式宣告的時候直接將函式結果返回給了變數 func, 並且在呼叫func的時候成功返回結果.
那麼是否可以這樣理解, 直接使用function () {console.log('I am a cat')}
就可以實現我們的目的?function () { console.log('I am a cat')} () // Function statements require a function name
-
失敗了? 函式需要一個函式名!
-
這是因為當我們直接使用
function () {console.log('I am a cat')}
(function () {console.log('I am a cat')}) () // I am a cat
其他寫法
// 知道即可,防止遇見了不認識 !function () {}(); ~function () {}(); -function () {}(); +function () {}(); void function () {}(); (function () {}()); (function () {})(); // ES6 箭頭函式 (()=>{})()