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