JS中 function 的理解

2022-09-18 12:45:09 字數 812 閱讀 6797

這種寫法,是一種立即執行函式的寫法,即iife等設計模式。這種函式在函式定義的地方就直接執行了。

理解iife設計模式的關鍵是要認識到,在es6之前,j**ascript僅具有函式作用域(因此缺少塊作用域),並通過

閉包內部的引用傳遞值。es6之後情況已不再如此,因為j**ascript的es6版本使用letconst關鍵字實現了塊作用域。

(function(){})()是匿名函式,主要利用函式內的變數作用域,避免產生全域性變數,影響整體頁面環境,增加**的相容性。

(function(){})是乙個標準的函式定義,但是沒有賦值給任何變數。所以是沒有名字的函式,叫匿名函式。沒有名字就無法像普通函式那樣隨時隨地呼叫了,所以在他定義完成後就馬上呼叫他,後面的括號()是執行這個函式的意思。

如下幾種寫法作用是相同的:

!function () ();

~function () ();

-function () ();

+function () ();

void function () ();

(function ()());

(function ())();

所以:!function(){}()寫法和(function(){})()是相同的

!function(){}()

①函式後的();表示要執行這個函式;

②而();要求前面必須是乙個表示式。(最後有js表示式的定義)。

③所以「!」的作用是將function(){}函式體轉為乙個函式表示式。

js 中的Function型別

函式的建立有兩種方式 二者基本等價,除了 什麼時候可通過變數訪問函式的區別,以下將舉例證明。以函式宣告的方式來建立,那麼不論在什麼時候訪問函式,都是正確的,因為解析器有函式宣告提公升。sayhello function sayhello 以函式表示式方式來建立,那麼只能在建立之後才能訪問。sayhe...

js中的函式function

python關鍵字 def js 關鍵字 function 格式 function 函式名 形參1,形參2,形參3.呼叫函式 函式名 引數 無參函式 function func1 有參函式 關鍵字arguments 能夠獲取到函式接收到的所有引數 function func3 a,b 利用argum...

js中function 與 的區別

在js中,箭頭函式並不是簡單的function 匿名函式的簡寫語法糖,實際上,箭頭函式和匿名函式有個明顯的區別 箭頭函式內部的this是詞法作用域,在編寫函式時就已經確定了。而匿名函式的this指向執行時實際呼叫該方法的物件,無法在編寫函式時確定。我們看一下下面的例子 function test 5...