亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript中的Function函數

2019-11-20 11:40:32
字體:
來源:轉載
供稿:網友

首先給大家介紹JavaScript中function定義函數的幾種方法:

1.最基本的作為一個本本分分的函數聲明使用。

復制代碼 代碼如下:

function func(){}


復制代碼 代碼如下:

var func=function(){};

2.作為一個類構造器使用:

function class(){}class.prototype={};var item=new class();

3.作為閉包使用:

(function(){//獨立作用域})();

4.可以作為選擇器使用:

var addEvent=new function(){if(!-[1,]) return function(elem,type,func){attachEvent(elem,'on'+type,func);};else return function(elem,type,func){addEventListener(elem,type,func,false);}};//避免了重復判斷

5.以上四中情況的混合應用:

var class=new function(){var privateArg;//靜態私有變量function privateMethod=function(){};//靜態私有方法return function(){/*真正的構造器*

JavaScript function函數種類:主要介紹普通函數、匿名函數、閉包函數

1.普通函數介紹

1.1 示例

function ShowName(name) { alert(name);}

1.2 Js中同名函數的覆蓋

在Js中函數是沒有重載,定義相同函數名、不同參數簽名的函數,后面的函數會覆蓋前面的函數。調用時,只會調用后面的函數。

var n1 = 1;function add(value1) { return n1 + 1;}alert(add(n1));//調用的是下面的函數,輸出:3function add(value1, value2) { return value1 + 2;}alert(add(n1));//輸出:3

1.3 arguments對象

arguments 類似于C#的params,操作可變參數:傳入函數的參數數量大于定義時的參數數量。

function showNames(name) { alert(name);//張三 for (var i = 0; i < arguments.length; i++) {  alert(arguments[i]);//張三、李四、王五 }}showNames('張三','李四','王五');

1.4 函數的默認范圍值

若函數沒有指明返回值,默認返回的是'undefined'

function showMsg() {}alert(showMsg());//輸出:undefined

2.匿名函數

2.1 變量匿名函數

2.1.1 說明

可以把函數賦值給變量、事件。

2.1.2 示例

//變量匿名函數,左側可以為變量、事件等var anonymousNormal = function (p1, p2) { alert(p1+p2);}anonymousNormal(3,6);//輸出9

2.1.3 適用場景

①避免函數名污染。若先聲明個帶名稱的函數,再賦值給變量或事件,就造成了函數名的濫用。

2.2 無名稱匿名函數

2.2.1 說明
即在函數聲明時,在后面緊跟參數。Js語法解析此函數時,里面代碼立即執行。

2.2.2 示例

(function (p1) { alert(p1);})(1);

2.2.3 適用場景

①只需執行一次的。如瀏覽器加載完,只需要執行一次且后面不執行的功能。

3. 閉包函數

3.1 說明

 假設,函數A內部聲明了個函數B,函數B引用了函數B之外的變量,并且函數A的返回值為函數B的引用。那么函數B就是閉包函數。

3.2 示例

3.2.1 示例1:全局引用與局部引用

function funA() { var i = 0; function funB() { //閉包函數funB  i++;  alert(i) } return funB;}var allShowA = funA(); //全局變量引用:累加輸出1,2,3,4等function partShowA() { var showa = funA();//局部變量引用:只輸出1 showa();}

allShowA是個全局變量,引用了函數funA。重復運行allShowA(),會輸出1,2,3,4等累加的值。

執行函數partShowA(),因為內部只聲明了局部變量showa來引用funA,執行完畢后因作用域的關系,釋放showa占用的資源。

閉包的關鍵就在于作用域:全局變量占有的資源只有當頁面變換或瀏覽器關閉后才會釋放。var allShowA = funA() 時,相當于allShowA引用了funB(),從而使funB()里的資源不被GC回收,因此funA()里的資源也不會。

3.2.2 示例2:有參閉包函數

function funA(arg1,arg2) { var i = 0; function funB(step) {  i = i + step;  alert(i) } return funB;}var allShowA = funA(2, 3); //調用的是funA arg1=2,arg2=3allShowA(1);//調用的是funB step=1,輸出 1allShowA(3);//調用的是funB setp=3,輸出 4

3.2.3 示例3:父函數funA內的變量共享

function funA() { var i = 0; function funB() {  i++;  alert(i) } allShowC = function () {// allShowC引用匿名函數,與funB共享變量i  i++;  alert(i) } return funB;}var allShowA = funA();var allShowB = funA();//allShowB引用了funA,allShowC在內部重新進行了綁定,與allShowB共享變量i

3.3 適用場景

①保證函數funA內里的變量安全,因為外部不能直接訪問funA的變量。

以上內容就是本文給大家介紹js中的function函數,希望大家喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品福利免费在线观看| 久久国产精品久久国产精品| 久久精品中文字幕电影| www.日韩不卡电影av| 久99久在线视频| 欧洲精品久久久| 久久人人爽人人爽人人片av高请| 欧美在线视频免费观看| 成人黄在线观看| 日本一本a高清免费不卡| 欧美限制级电影在线观看| 亚洲精品www久久久久久广东| 国产精品亚洲片夜色在线| 精品久久久久久中文字幕一区奶水| 日本亚洲欧洲色| 国产精品三级美女白浆呻吟| 国产精自产拍久久久久久| 18性欧美xxxⅹ性满足| 日韩亚洲欧美中文高清在线| 成人亚洲综合色就1024| 亚洲第一精品自拍| 欧美黄色成人网| 国产精品一二三视频| 一本色道久久88精品综合| 亚洲一区二区久久久久久久| 亚洲尤物视频网| 91精品国产综合久久久久久蜜臀| 久久99热精品这里久久精品| 日韩av一区二区在线观看| 亚洲色图综合久久| 国产精品美女www爽爽爽视频| 亚洲的天堂在线中文字幕| 亚洲一区二区久久久| 成人免费在线视频网址| 久久九九有精品国产23| 亚洲国产美女精品久久久久∴| 日本sm极度另类视频| 日韩精品免费在线视频| 亚洲天堂久久av| 亚洲精品白浆高清久久久久久| 97在线精品国自产拍中文| 91在线中文字幕| 国产亚洲精品美女久久久久| 国产欧美一区二区三区在线看| 国产精品女人网站| 不卡av在线网站| 日韩国产欧美区| 欧美视频国产精品| 亚洲精品视频在线观看视频| 精品国产福利在线| 精品视频在线播放| 久久精品成人动漫| 欧美成人四级hd版| 欧美日韩精品在线| 国产精品91一区| 亚洲福利视频在线| 国外色69视频在线观看| 久久久久99精品久久久久| 日韩美女视频免费在线观看| 日韩精品中文在线观看| 亚洲娇小xxxx欧美娇小| 九九精品在线视频| 全球成人中文在线| 欧美午夜精品久久久久久浪潮| 插插插亚洲综合网| 一区二区三区四区视频| 国产福利成人在线| 国产精品偷伦免费视频观看的| 97精品欧美一区二区三区| 亚洲网站在线看| 免费91麻豆精品国产自产在线观看| 亚洲欧美精品一区二区| 久久韩剧网电视剧| 久久99热这里只有精品国产| 国产精品自拍小视频| 日本久久亚洲电影| 欧美天堂在线观看| 国产精品吊钟奶在线| 亚洲老板91色精品久久| 伊是香蕉大人久久| 亚洲国产精品视频在线观看| 在线观看日韩www视频免费| 精品久久久一区二区| 日韩精品高清视频| 久久99精品久久久久久青青91| 亚洲国产高潮在线观看| 久久97久久97精品免视看| 538国产精品一区二区在线| 国产精品揄拍500视频| 亚洲无限乱码一二三四麻| 丝袜美腿精品国产二区| 欧美一性一乱一交一视频| 国产福利视频一区| 在线视频日韩精品| 97视频com| 久久人人爽人人爽人人片av高清| 日韩av综合中文字幕| 国产成人精品免高潮在线观看| 久热99视频在线观看| 欧美国产日本高清在线| 亚洲美女av在线| 91天堂在线观看| 日韩成人av在线播放| 亚洲欧美在线免费| 这里只有精品在线播放| 日韩精品电影网| 在线观看国产精品日韩av| 国产精品高潮在线| 亚洲高清在线观看| 欧美自拍大量在线观看| 日本精品久久久久久久| 色与欲影视天天看综合网| 国产精品美女www爽爽爽视频| 日韩精品日韩在线观看| 一区二区三区回区在观看免费视频| 欧美精品18videos性欧| 夜夜嗨av一区二区三区免费区| 国产精品美女在线观看| 亚洲视频在线看| 亚洲aa在线观看| 日韩av第一页| 国产精品视频久久久| 性欧美xxxx| 亚洲成人久久电影| 国产97色在线|日韩| 成人深夜直播免费观看| 亚洲全黄一级网站| 在线视频精品一| 自拍偷拍亚洲在线| 久久艹在线视频| 国产自产女人91一区在线观看| 美女av一区二区三区| 亚洲欧美另类中文字幕| 久久精品国产久精国产一老狼| 欧美电影《睫毛膏》| 欧美人在线视频| 亚洲成人动漫在线播放| 大伊人狠狠躁夜夜躁av一区| 在线成人一区二区| 国产日本欧美一区二区三区| 91九色国产社区在线观看| 久久全球大尺度高清视频| 久久99热精品| 成人激情视频在线观看| 亚洲深夜福利网站| 欧美性极品xxxx娇小| 亚洲天堂男人天堂| 精品久久久久久久久久| 日韩一区二区久久久| 91色中文字幕| 欧美日韩一区二区在线播放| 精品中文字幕视频| 国产国语刺激对白av不卡| 日本精品性网站在线观看| 久久亚洲欧美日韩精品专区| 国模视频一区二区三区| 夜夜嗨av一区二区三区四区| 国产精品免费网站| 欧美精品亚州精品| 久久久久久久久久国产| 2018日韩中文字幕| 在线观看精品国产视频| 欧美做受高潮电影o| 欧美裸身视频免费观看|