色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

詳解JavaScript自定義函數(shù)

瀏覽:88日期:2023-10-19 13:14:41

一、定義方法:在Javascript中必須用function關(guān)鍵字

function funcName(arg1,arg2...){statements;return '變量值'; //返回值可以根據(jù)函數(shù)的需要}

函數(shù)名是函數(shù)自身的一個引用。此種方式創(chuàng)立的函數(shù)引用是獨立存在的,無法刪除。

1、調(diào)用函數(shù):函數(shù)名(參數(shù)列表)。

傳遞的參數(shù)不必與函數(shù)定義的參數(shù)個數(shù)一致,并且可以設(shè)定函數(shù)參數(shù)的默認(rèn)值。

function example(a,b){ var a = arguments[0] ? arguments[0] : 1;//設(shè)置參數(shù)a的默認(rèn)值為 var b = arguments[1] ? arguments[1] : 2;//設(shè)置參數(shù)b的默認(rèn)值為2 return a+b;}alert(example()); //輸出3

其他方法:設(shè)置默認(rèn)參數(shù)方式

2、嵌套函數(shù):在JS中,函數(shù)的定義中還可以再次定義新的函數(shù)

function say(){ function add(x,y) { return (x+y); } alert(add(2,3));}say(); //輸出5

內(nèi)嵌函數(shù)add()只能在嵌套它的函數(shù)(say())中調(diào)用,而不能再外部調(diào)用。

3、條件函數(shù):

var b = false;if(b){function ex1(){alert(1);}ex1();}else{function ex2(){alert(0);} ex2();}

輸出0,將b的值改為TRUE,則輸出1,不演示。條件函數(shù)的花括號不具有范圍限制,即可以在花括號外訪問函數(shù)。

二 、函數(shù)的特殊條用方式:網(wǎng)頁中的所有方法可以看做全局對象window對象的方法

function add(x,y){return x+y;}//1alert(window.add(2,3));//2alert(window[’add’](2,3));

以上結(jié)果均是5

三、函數(shù)表達式定義函數(shù):匿名函數(shù)

1、定義方式:var fucName = function(arg1,arg2,...){statements;}

var add = function (x,y){return x+y;}alert(add(2,3));//輸出為5

其中,add是該函數(shù)的唯一引用,當(dāng)add=null,該函數(shù)便不能再調(diào)用。

2、匿名自執(zhí)行函數(shù):

(function(x,y){alert(x + y) ;})(2,3); //立即自動執(zhí)行,結(jié)果為5

3、匿名函數(shù)的用途

2.1 用于一次調(diào)用后就丟棄的函數(shù)

2.2 向prototype屬性附加函數(shù)以實現(xiàn)對象方法的定義

四、使用Function定義函數(shù):

在JS中,F(xiàn)unction為核心類的一種,而其他方式定義的函數(shù)也均作為對象對待,因為在JS中的OOP中,不存在類的概念,這是JS與Java、C#等語言的區(qū)別。

var add = new Function(“函數(shù)參數(shù)”,'函數(shù)體'); add為函數(shù)名,即函數(shù)的一個引用。

var add = new Function(’x’,’y’,'return x+y');alert(add(2,3));

上述的結(jié)果為5.

五、閉包函數(shù):當(dāng)一個函數(shù)不位于它所處環(huán)境(變量的作用范圍)被調(diào)用,仍可使用本地變量(脫離了變量的作用范圍仍可使用該變量),這是閉包函數(shù)的顯著特征。

5.1 作為值從函數(shù)返回的函數(shù)是閉包函數(shù)

function B(){var temp='abc';function A(){alert('閉包函數(shù)處理本地變量temp = '+temp);}return A;}var a = B();a();

運行結(jié)果:(本地變量是函數(shù)內(nèi)聲明的變量)

詳解JavaScript自定義函數(shù)

5.2 利用變量的作用范圍形成閉包函數(shù)

var F;function B(){var temp='abc';F=function (){alert('利用變量范圍形成閉包函數(shù)處理本地變量temp = '+temp);}}B();F();

運行結(jié)果

詳解JavaScript自定義函數(shù)

以上就是詳解JavaScript自定義函數(shù)的詳細(xì)內(nèi)容,更多關(guān)于JavaScript自定義函數(shù)的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 萌白酱粉嫩jk福利在线观看 | 国产手机在线视频放线视频 | 午夜免费成人 | 亚洲黄色软件 | 国产做国产爱免费视频 | 日本一区二区高清不卡 | 一本大道香蕉大vr在线吗视频 | 中文字幕精品一区二区2021年 | 欧美xxx国产xxx| 国产手机看片 | 9久久免费国产精品特黄 | 久久亚洲国产午夜精品理论片 | 免费看一级做a爰片久久 | 另类视频在线 | 久久99国产一区二区三区 | 中国国语毛片免费观看视频 | 九九99香蕉在线视频网站 | 国产精品无码久久久久 | 国产精品免费_区二区三区观看 | 国产一区成人 | 国产成人理在线观看视频 | 亚洲a级在线观看 | 日韩欧美综合在线二区三区 | 国产美女视频一区 | 欧美特欧美特级一片 | 国产伦精一区二区三区 | 久久国产片 | 欧美 亚洲 在线 | 久久亚洲精品成人 | 欧美三级三级三级爽爽爽 | 美国毛片在线 | 午夜性片| 美女网站视频黄色 | 99re热在线视频 | 久久高清精品 | 91免费国产高清观看 | 欧美大片欧美毛片大片 | 伊人天堂在线 | 国内一级野外a一级毛片 | 日本韩国三级在线观看 | 久久亚洲不卡一区二区 |