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ù)的方法似乎比較常見,也比較好理解,在此不多說(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)方法
- 比較常見的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獲取一個(gè)范圍內(nèi)日期的方法
這篇文章主要介紹了JavaScript獲取一個(gè)范圍內(nèi)日期的方法,涉及javascript操作日期的相關(guān)技巧,需要的朋友可以參考下2015-04-04
Webpack中css-loader和less-loader的使用教程
這篇文章主要介紹了關(guān)于Webpack中css-loader和less-loader的使用教程,文中通過(guò)示例代碼介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-04-04
javascript replace()方法的簡(jiǎn)單分析
javascript中replace()在javascript中,String的函數(shù)replace()簡(jiǎn)直太讓人喜愛(ài)了。它靈活而強(qiáng)大的字符替換處理能力,讓我不禁想向大家介紹它。2008-11-11
JS獲取子窗口中返回的數(shù)據(jù)實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇JS獲取子窗口中返回的數(shù)據(jù)實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
uniApp獲取當(dāng)前位置經(jīng)緯度的示例代碼
這篇文章主要介紹了uniApp獲取當(dāng)前位置經(jīng)緯度,以下是使用uni.getLocation獲取當(dāng)前位置的示例代碼,需要的朋友可以參考下2024-01-01
純 JS 實(shí)現(xiàn)放大縮小拖拽功能(完整代碼)
這篇文章主要介紹了純js實(shí)現(xiàn)放大縮小拖拽功能,文中給大家提到了在開發(fā)過(guò)程中遇到的一些問(wèn)題及解決方法,需要的朋友可以參考下2019-11-11

