/*第二種方法,使用Function()構(gòu)造函數(shù)克隆函數(shù)*/
var F = new Function("a","b","alert(a+b)");
F(a,b);
其實相當(dāng)于如下代碼:
function F(a,b){
alert(a+b);
}
/*第三種方法,使用函數(shù)直接量*/
var zhenn = function(){
alert("zhenn");
}
zhenn();
其中用“function語句”和使用“函數(shù)直接量”來定義函數(shù)的方法似乎比較常見,也比較好理解,在此不多說。針對使用Function()構(gòu)造函數(shù)克 隆函數(shù),一般很少用,因為一個函數(shù)通常有多條語句組成,如果將他們以字符串的形式作為參數(shù)傳遞,難免會使得代碼的可讀性很差。
在這里再順便提一下構(gòu)造函數(shù)吧,其實從字面上理解,構(gòu)造函數(shù)似乎也是函數(shù),其實它并不是函數(shù),而只是一種函數(shù)模型。舉個不恰當(dāng)?shù)睦樱瑯?gòu)造函數(shù)相當(dāng)于一部 剛組裝好的車子,無論遠(yuǎn)看還是近看,它都是一部車子,但是還沒有加油(代表在使用前的一個必要步驟),所以它并不能啟動。如果想要這部車子正常行駛,就必 須給它加上油,其實這個過程就等同于構(gòu)造函數(shù)的實例化,否則它并不能正常運行!看下面這個例子:
代碼如下:
function Fn(){ //定義構(gòu)造函數(shù)
this.elem ="這里是使用function()構(gòu)造函數(shù)定義函數(shù),呵呵";
this.fn = function(){
alert("這是使用function()構(gòu)造函數(shù)定義函數(shù),嘿嘿");
}
}
var f = new Fn(); //實例化
alert(f.elem);
f.fn();
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com