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