您好,登錄后才能下訂單哦!
這篇文章主要講解了“javascript的自定義函數(shù)是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“javascript的自定義函數(shù)是什么”吧!
自定義函數(shù)有:1、命名函數(shù),語(yǔ)法“function 函數(shù)名(){}”;2、匿名函數(shù),語(yǔ)法“var 變量名=function(){};”;3、對(duì)象函數(shù),語(yǔ)法“var 變量名=Function();”;4、自調(diào)函數(shù),將函數(shù)的定義與調(diào)用一并實(shí)現(xiàn)。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
函數(shù)是一組延遲動(dòng)作集,可以通過(guò)事件觸發(fā)或在其他腳本中調(diào)用。
JavaScript 中的兩類函數(shù):預(yù)定義函數(shù)、自定義函數(shù)
預(yù)定義函數(shù)
【parseInt / parseFloat】string 轉(zhuǎn) int/float
【isNaN / isFinite】檢測(cè)參數(shù)是否為 非數(shù)字值/無(wú)窮數(shù)
【escape / unescape】對(duì)字符串 編碼/解碼
【eval】執(zhí)行 JavaScript 腳本
【alert / confirm / prompt】三種警示框
自定義函數(shù)
【命名函數(shù)】function funcName(){}
【匿名函數(shù)】var x=function(){};
【對(duì)象函數(shù)】var x=Function();
【自調(diào)函數(shù)】(function(){}());
自定義函數(shù)
JavaScript 中除了可以使用預(yù)定義函數(shù)外,還可以使用自定義函數(shù)。
在自定義函數(shù)時(shí)既不需要聲明函數(shù)的參數(shù)類型,也不需要聲明函數(shù)的返回類型。
JavaScript 目前支持的自定義方式有:
命名函數(shù)
匿名函數(shù)
對(duì)象函數(shù)
自調(diào)函數(shù)
1. 命名函數(shù)
命名函數(shù)通過(guò) function 關(guān)鍵詞進(jìn)行定義,其后是函數(shù)名和括號(hào) ()。
完成函數(shù)的定義后,函數(shù)并不會(huì)自動(dòng)執(zhí)行,只有通過(guò)事件或腳本調(diào)用時(shí)才會(huì)執(zhí)行。
在同一個(gè) <script></script> 標(biāo)簽中,函數(shù)的調(diào)用可以在函數(shù)定義之前,也可以在函數(shù)定義之后。
在不同的 <script></script> 標(biāo)簽中,函數(shù)的定義必須在函數(shù)的調(diào)用之前,否則調(diào)用無(wú)效。
格式如下:
function funcName([parameters]){ statements; [return 表達(dá)式;] }
2. 匿名函數(shù)
匿名函數(shù)的定義格式與命名函數(shù)基本相同,只是沒(méi)有提供函數(shù)的名稱,并且結(jié)束位置應(yīng)有分號(hào); 。由于沒(méi)有函數(shù)名字,所以需要使用變量對(duì)匿名函數(shù)進(jìn)行接受,方便后面函數(shù)的調(diào)用。
命名函數(shù)對(duì)初學(xué)者來(lái)說(shuō),上手容易,但可讀性較差。匿名函數(shù)使用相對(duì)更加方便,可讀性更好,當(dāng)前比叫流行的 JavaScript 框架基本上都采用匿名函數(shù)的方式來(lái)定義函數(shù)。
格式如下:
var x=function([parameters]){ statements; [return 表達(dá)式;] };
3. 對(duì)象函數(shù)
JavaScript 提供了 Function 類,用于定義函數(shù)。格式如下:
var func1=new Function([parameters],statements;);
Function 是用來(lái)定義函數(shù)的關(guān)鍵字,首字母必須大寫(xiě)。
parameters 為函數(shù)參數(shù),可選。當(dāng)有多個(gè)參數(shù)時(shí),參數(shù)之間用逗號(hào), 隔開(kāi)。
statements 為函數(shù)執(zhí)行體。當(dāng)有多條執(zhí)行語(yǔ)句時(shí),語(yǔ)句之間以分號(hào); 隔開(kāi)。
4. 自調(diào)用函數(shù)
一般情況下,函數(shù)本身不會(huì)自動(dòng)執(zhí)行,只有調(diào)用時(shí)才會(huì)被執(zhí)行。所以 JavaScript 提供了一種自調(diào)用函數(shù),將函數(shù)的定義與調(diào)用一并實(shí)現(xiàn)。格式如下:
(function([parameters]){ statements; [return 表達(dá)式;] })([params]);
需要使用小括號(hào)() 將自調(diào)函數(shù)括起來(lái),并以分號(hào); 結(jié)束。
parameters 為形參,可選。參數(shù)之間以逗號(hào), 隔開(kāi)。
params 為實(shí)參,在函數(shù)調(diào)用時(shí)傳入數(shù)據(jù)。
代碼示例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>test</title> </head> <body> <input id="btn1" type="button" onclick="button1Event()" value="button1" /> <input id="btn2" type="button" onclick="button2Event()" value="button2" /><br /> <input id="a" type="text"/><input id="b" type="text"/><br /> <input id="sumBtn" type="button" value="x+y" onclick="sum()"/> <script type="text/javascript"> function button1Event(){/* 命名函數(shù) */ alert("命名函數(shù):按鈕1被點(diǎn)擊!"); } var x=function(){/* 匿名函數(shù) */ alert("匿名函數(shù):按鈕2被點(diǎn)擊!"); } button2Event=x; var y=new Function("a", "b", "return a+b");/* 對(duì)象函數(shù) */ sum=function(){ var aValue=parseInt(document.getElementById("a").value,10); var bValue=parseInt(document.getElementById("b").value,10); alert("對(duì)象函數(shù):"+y(aValue,bValue)); } var tema=2;var temb=2; (function(a,b){/* 自調(diào)函數(shù) */ alert("自調(diào)函數(shù):"+(a+b)); })(tema,temb); </script> </body> </html>
效果演示:
感謝各位的閱讀,以上就是“javascript的自定義函數(shù)是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)javascript的自定義函數(shù)是什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。