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

2022-08-21 11:00:15 字數 901 閱讀 1631

目錄

二、區別

函式宣告: function 函式名(){}

例子:

function aaa(){}  // 函式宣告
函式表示式: function 函式名(可寫可不寫)(){} : 分別代表:命名函式表示式,匿名函式表示式

例子:

var a = function aaa(){} // 函式表示式

var a = function(){} // 函式表示式

(function aaa(){}) // 函式表示式

~function aaa(){}

-function aaa(){}

+function aaa(){}

!function aaa(){}

也就是說,函式表示式可以通過直接加()來執行這個函式

如:

function aaa()(); // 這是不可以的
但是,如果是函式表示式

var a = function aaa()(); // 可以的

~function aaa()();

看下面例子:這兩個例子中,執行結果的不一樣,可以看出函式表示式是提前被解析出來的。

如果需要通過判斷來呼叫不同函式(函式名相同),最好使用函式表示式

if(true)

}else

}aaa(); //2

if(true)

}else

}a(); //1

看例子:

var a = function aaa()

a();

aaa(); // 外部找不到

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 變數提公升 只有通過函式宣告的...