javascript函數(shù)命名的三種方式及區(qū)別
第一
復制代碼 代碼如下:
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);
上面三種方式邏輯上是等價的,但是還是有點小區(qū)別:區(qū)別一:例一中的'函數(shù)會在代碼執(zhí)行以前被加載到作用域中,而例二則是在代碼執(zhí)行到那一行的時候才會有定義;區(qū)別二:函數(shù)聲明會給函數(shù)指定一個名字,而函數(shù)表達式則是創(chuàng)建一個匿名函數(shù),然后將這個匿名函數(shù)賦給一個變量;區(qū)別三:例三使用Function()構造 函數(shù)克隆函數(shù),一般很少用,因為一個函數(shù)通常有多條語句組成,如果將他們以字符串的形式作為參數(shù)傳遞,難免會使得代碼的可讀性很差。
【javascript函數(shù)命名的三種方式及區(qū)別】相關文章: