JavaScript中定義函數(shù)的三種方法
在JavaScript的世界里,定義函數(shù)的方法多種多樣,這正是JavaScript靈活性的體現(xiàn),但是正是這個(gè)原因讓初學(xué)者摸不著頭腦,尤其對(duì)于沒(méi)有 語(yǔ)言基礎(chǔ)的同學(xué)。正所謂條條大道通羅馬,但是如果道路太多,會(huì)讓行路者不知所措,因?yàn)椴恢雷吣菞l路才是正途,呵呵,廢話一大篇,閑言少敘,先看代碼:
/*第一種方法,使用function語(yǔ)句,格式如下*/
function fn(){
alert("這是使用function語(yǔ)句進(jìn)行函數(shù)定義");
}
fn();
/*第二種方法,使用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語(yǔ)句”和使用“函數(shù)直接量”來(lái)定義函數(shù)的方法似乎比較常見(jiàn),也比較好理解,在此不多說(shuō)。針對(duì)使用Function()構(gòu)造函數(shù)克 隆函數(shù),一般很少用,因?yàn)橐粋€(gè)函數(shù)通常有多條語(yǔ)句組成,如果將他們以字符串的形式作為參數(shù)傳遞,難免會(huì)使得代碼的可讀性很差。
在這里再順便提一下構(gòu)造函數(shù)吧,其實(shí)從字面上理解,構(gòu)造函數(shù)似乎也是函數(shù),其實(shí)它并不是函數(shù),而只是一種函數(shù)模型。舉個(gè)不恰當(dāng)?shù)睦?,?gòu)造函數(shù)相當(dāng)于一部 剛組裝好的車子,無(wú)論遠(yuǎn)看還是近看,它都是一部車子,但是還沒(méi)有加油(代表在使用前的一個(gè)必要步驟),所以它并不能啟動(dòng)。如果想要這部車子正常行駛,就必 須給它加上油,其實(shí)這個(gè)過(guò)程就等同于構(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();
- js function定義函數(shù)使用心得
- js function定義函數(shù)的幾種不錯(cuò)方法
- javascript 用函數(shù)語(yǔ)句和表達(dá)式定義函數(shù)的區(qū)別詳解
- JavaScript定義函數(shù)的三種實(shí)現(xiàn)方法
- 比較常見(jiàn)的javascript中定義函數(shù)的區(qū)別
- 淺談javascript:兩種注釋,聲明變量,定義函數(shù)
- 常用原生js自定義函數(shù)總結(jié)
- JavaScript 中定義函數(shù)用 var foo = function () {} 和 function foo()區(qū)別介紹
- javascript十個(gè)最常用的自定義函數(shù)(中文版)
- JS定義函數(shù)的幾種常用方法小結(jié)
相關(guān)文章
JavaScript 開(kāi)發(fā)工具webstrom使用指南
本文給大家推薦了一款非常熱門的javascript開(kāi)發(fā)工具webstrom,著重介紹了webstrom的特色功能、設(shè)置技巧、使用心得以及快捷鍵匯總,非常的全面。2014-12-12javascript利用canvas實(shí)現(xiàn)鼠標(biāo)拖拽功能
這篇文章主要為大家詳細(xì)介紹了javascript利用canvas實(shí)現(xiàn)鼠標(biāo)拖拽功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07js使用文件流下載csv文件的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于js使用文件流下載csv文件的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07原生JS實(shí)現(xiàn)的自動(dòng)輪播圖功能詳解
這篇文章主要介紹了原生JS實(shí)現(xiàn)的自動(dòng)輪播圖功能,結(jié)合實(shí)例形式詳細(xì)分析了基于原生js實(shí)現(xiàn)輪播圖的原理、操作步驟及操作注意事項(xiàng),需要的朋友可以參考下2018-12-12select標(biāo)簽設(shè)置默認(rèn)選中的選項(xiàng)方法
下面小編就為大家分享一篇select標(biāo)簽設(shè)置默認(rèn)選中的選項(xiàng)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03webpack file-loader和url-loader的區(qū)別
這篇文章主要介紹了webpack file-loader和url-loader的區(qū)別,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01js實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊頁(yè)面彈出自定義文字效果
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊頁(yè)面彈出自定義文字效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12