javascript函數命名的三種方式及區別

學識都 人氣:1.67W

第一

javascript函數命名的三種方式及區別

複製代碼 代碼如下:

function fn(val1,val2) {

alert(val1+val2);

}

fn(1,2);

第二

複製代碼 代碼如下:

var fn=function() {

alert(val1+val2);

}

fn(1,2);

第三

複製代碼 代碼如下:

var fn=new Function("alert(val1+val2)");

fn(1,2);

上面三種方式邏輯上是等價的,但是還是有點小區別:區別一:例一中的'函數會在代碼執行以前被加載到作用域中,而例二則是在代碼執行到那一行的時候纔會有定義;區別二:函數聲明會給函數指定一個名字,而函數表達式則是創建一個匿名函數,然後將這個匿名函數賦給一個變量;區別三:例三使用Function()構造 函數克隆函數,一般很少用,因爲一個函數通常有多條語句組成,如果將他們以字符串的形式作爲參數傳遞,難免會使得代碼的可讀性很差。

TAGS:函數