js的函式宣告和js的函式表示式的區別

2021-10-03 18:20:15 字數 406 閱讀 2463

區別:解析器會率先讀取函式宣告,並使其在執行任何**之前可用(可以訪問),至於函式表示式,則必須等到解析器執行到它所在的**行,才會真正被解釋執行。

例:函式宣告:

alert(sum(10,10);

function sum(a,b)

以上**正常執行。

函式表示式:

alert(sum(10,10));

var sum = function(a,b)

以上**執行期間產生錯誤。

————————————————

//函式宣告的自執行必用()將函式宣告括起來後自執行

(function a() )()

//函式表示式可以直接自執行,不需要加()

var b=function () ()

js函式宣告和函式表示式

區分函式宣告和表示式最簡單的方法是看function關鍵字出現在宣告中的位置 不僅僅是一行 而是整個宣告中的位置 如果function是宣告中的第乙個詞,那麼就是乙個函式宣告,否則就是乙個函式表示式。函式宣告和函式表示式間最重要的區別是它們的名稱識別符號將會繫結在何處。匿名函式表示式,因為funct...

JS 函式宣告和函式表示式

function name function為關鍵字 後加函式名name 可以把函式宣告放在它的呼叫語句之後。原因 解析器在向執行環境中載入資料時,解析器會在執行 前讀取函式宣告,即函式宣告提公升。a function a 沒有錯誤 var a function num1,num2 類似乙個變數賦值...

js 函式宣告和函式表示式

今天我們來講函式宣告和函式表示式 主要從函式定義和兩種定義的區別,以及塊級作用域來講 定義函式有兩種方式,一種是函式表示式,一種是函式宣告式 函式宣告式 function fun arguments 函式表示式 var fun function arguments 1 變數提公升 只有通過函式宣告的...