函式宣告和函式表示式

2021-08-14 19:58:08 字數 1154 閱讀 3314

如果你知道這裡為什麼會報錯,那就請跳過...
function

fun()

var a=fun;

a(); //function1

var del=function

(a,b)

console.log(del(9,3));//6

var mul=function

multiplay

(a,b)

mul(3,3)//9

console.log(multiplay(2,3))//error multiplay is not defined

js中兩種最常用的建立函式物件的方法:函式宣告和函式表示式。
function

bar()

函式宣告可以定義命名的函式變數,而無需給變數賦值。

函式申明必須以function開頭的函式。

函式名在自身的作用域和父級作用域是可以獲取的。

函式宣告必須要帶乙個識別符號,也就是我們說的函式名。

//anonymous function expression

var a = function

() //named function expression

var a = function

bar()

//self invoking function expression

(function

sayhello

() )();

將函式定義為表示式(通常為變數賦值)的一部分。

函式表示式可以是命名的也可以是匿名的。

函式表示式不能以function開頭。

**函式名在作用域外是不可取的。**

回到之前的bug,我們來解釋一下:

console.log(multiplay(2,3))//error multiplay is not

defined

因為mul是以函式表示式的方式建立的函式物件,這個時候,函式名multiplay在作用域外是不可取的。

函式表示式和函式宣告

函式表示式和函式宣告解密 在ecmascript中,建立函式的最常用的兩個方法是函式表示式和函式宣告,兩者期間的區別是有點暈,因為ecma規範只明確了一點 函式宣告必須帶有標示符 identifier 就是大家常說的函式名稱 而函式表示式則可以省略這個標示符 函式宣告 function 函式名稱 引...

函式宣告和函式表示式

以下是函式宣告和函式表達方式的表現形式 function fun var fun function 執行fun 的時候 當用函式宣告的時候,fun 的位置沒有要求,都可以執行 當用函式表示式的時候,fun 需要放在表示式的後面,否則報錯 undefiend 例子如下 fun fun is not a...

函式宣告和函式表示式

定義函式的常見方法 函式宣告的乙個特徵 函式宣告提公升 函式宣告如 function fname 函式表示式也是常見的建立函式的方法 var fname function 函式表示式的另一種宣告的方法 function f 是一組分組操作符,它的內部只能包含表示式 注意 函式表示式與其他表示式一樣,...