久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

深入解析JS自定義函數的聲明和調用

函數是一組執行特定任務(具有特定功能)的,可以重復使用的代碼塊。除了使用內置函數外,我們也可以自行創建函數(自定義函數),然后在需要的地方調用這個函數,這樣不僅可以避免編寫重復的代碼,還有利于代碼的后期維護。

深入解析JS自定義函數的聲明和調用

一:聲明函數的幾種方法

JavaScript中自定義函數的聲明方法有 3 種,即使用 function 語句、使用 Function() 構造函數和定義函數直接量。

1、function 語句

在 JavaScript 中可以使用 function 語句聲明函數。具體用法如下:

function funName([args]) {     statements }

funName 是函數名,與變量名一樣必須是 JavaScript 合法的標識符。在函數名之后是一個由一個小括號包含的參數列表,參數之間以逗號分隔。參數是可選的,沒有數量限制。

作為標識符,參數僅在函數體內被訪問,參數是函數作用域的私有成員。調用函數時,通過為函數傳遞值,然后使用參數獲取外部傳入的值,并在函數體內干預函數的運行。

在小括號之后是一個大括號,大括號內包含的語句就是函數體結構的主要內容。在函數體重,大括號是必不可少的,缺少大括號,JavaScript 將會拋出語法錯誤。

示例

function 語句必須包含函數名、小括號和大括號,其他代碼都可省略,因此最簡單的函數體是一個空函數。

function funName() {}  //空函數

如果使用匿名函數,則可以省略函數名。

function () {}  //匿名空函數

var 語句和 function 語句都是聲明語句,它們聲明的變量和函數都在 JavaScript 預編譯時被解析,也被稱為變量提升和函數提升。在預編譯期,JavaScript 引擎會為每個 function 創建上下文,定義變量對象,同時把函數內所有形參、私有變量、嵌套函數作為屬性注冊到變量對象上。

2、Function() 構造函數

使用 Function() 構造函數可以快速生成函數。具體用法如下:

var funName = new Function(p1, p2, ..., pn, body);

Function() 的參數類型都是字符串,p1~pn 表示所創建函數的參數名稱列表,body 表示所創建函數的函數結構體語句,在 body 語句之間以分號分隔。

示例1

可以省略所有參數,僅傳遞一個字符串,用來表示函數體。

var f = new Function ("a", "b", "return a+b");  //通過構造函數來克隆函數結構

在上面代碼中,f 就是所創建函數的名稱。同樣是定義函數,使用 function 語句可以設計相同結構的函數。

function f(a, b) {  //使用function語句定義函數結構     return a + b; }

示例2

使用 Function() 構造函數可以不指定任何參數,創建一個空函數結構體。

var f = new Function();  //定義空函數

使用 Function() 構造函數可以動態的創建函數,它不會把用戶限制在 function 語句預聲明的函數體中。使用 Function() 構造函數能夠把函數當做表達式來使用,而不是當做一個結構,因此使用起來會更靈活。其缺點就是,Function() 構造函數在執行期被編譯,執行效率非常低,一般不推薦使用。

3、匿名函數(函數直接量)

函數直接量也稱為匿名函數,即函數沒有函數名,僅包含 function 關鍵字、參數和函數體。具體用法如下:

function ([args]) {     statements }

示例1

下面代碼定義一個函數直接量。

function (a, b) {  //函數直接量     return a + b; }

在上面代碼中,函數直接量與使用 function 語句定義函數結構基本相同,它們的結構都是固定的。但是函數直接量沒有指定函數名,而是直接利用關鍵字 function 來表示函數的結構,這種函數也被稱為匿名函數。

示例2

匿名函數就是一個表達式,即函數表達式,而不是函數結構的語句。下面把匿名函數作為一個值賦值給變量 f。

//把函數作為一個值直接賦值給變量 f var f = function (a, b) {     return a + b; };

當把函數結構作為一個值賦值給變量之后,變量就可以作為函數被調用,此時變量就指向那個匿名函數。

console.log(f(1,2));  //返回值3

深入解析JS自定義函數的聲明和調用

示例3

匿名函數作為值,可以參與更復雜的表達式運算。針對上面示例可以使用以下代碼完成函數定義和調用一體化操作。

console.log(  //把函數作為一個操作數進行調用     (function (a,b) {         return a + b;     })(1, 2));  //返回數值3

深入解析JS自定義函數的聲明和調用

二:調用函數

一旦定義好了一個函數,我們就可以在當前文檔的任意位置來調用它。調用函數非常簡單,只需要函數名后面加上一個括號即可,例如 alert()、write()。注意,如果在定義函數時函數名后面的括號中指定了參數,那么在調用函數時也需要在括號中提供對應的參數。

示例代碼如下:

function sayHello(name){     document.write("Hello " + name); } // 調用 sayHello() 函數 sayHello('PHP中文網');

深入解析JS自定義函數的聲明和調用

提示:JavaScript 對于大小寫敏感,所以在定義函數時 function 關鍵字一定要使用小寫,而且調用函數時必須使用與聲明時相同的大小寫來調用函數。

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
福利视频一区| 国产精品久久久久久妇女| 亚洲一二av| 国产粉嫩在线观看| 亚洲91网站| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲黄页一区| 中文一区一区三区免费在线观 | 欧美亚洲国产日韩| 国产三级一区| 国产精品啊啊啊| 黄色aa久久| 夜夜精品视频| 亚洲精品美女91| 欧美亚洲专区| 精品国产一区二区三区性色av| 国产高清视频一区二区| 精品免费视频| 五月激情久久| 欧美+日本+国产+在线a∨观看| 99国产精品99久久久久久粉嫩| 亚洲精品成人| 亚洲精品国产精品粉嫩| 九九在线精品| 一区二区三区四区日韩| 亚洲视频二区| 国产一区二区三区四区五区传媒| 高清av不卡| 久久大逼视频| 牛牛精品成人免费视频| 久久美女性网| 日本不卡不码高清免费观看| 精品久久久网| 国产美女视频一区二区| 91精品啪在线观看国产18| 亚洲另类av| 日韩不卡视频在线观看| 欧美日韩一区二区三区在线电影| 久久99久久人婷婷精品综合| 午夜久久影院| 97精品国产福利一区二区三区| 日韩一区二区三免费高清在线观看| 日韩精品午夜| 久久久久久婷| 国产精品.xx视频.xxtv| 国产精品毛片一区二区三区| 伊人久久在线| 日本亚洲最大的色成网站www | 欧美日韩一二| 国产欧美一区二区三区国产幕精品| 国产精品一站二站| 免费在线欧美黄色| 麻豆网站免费在线观看| 久久都是精品| 日韩欧美2区| 99在线|亚洲一区二区| 久热综合在线亚洲精品| 亚洲欧洲av| 精品视频久久| 西西人体一区二区| 国产精品久久久久久久久久久久久久久| 美女视频黄免费的久久| 亚洲欧美高清| 麻豆精品av| 久久香蕉网站| 久久丁香四色| 中文在线а√在线8| 欧美~级网站不卡| 亚洲精品影院在线观看| 欧美三级第一页| 国产毛片久久| 日韩毛片视频| 国产极品久久久久久久久波多结野 | 99日韩精品| 丰满少妇一区| 日韩一区网站| 日韩欧美少妇| 日韩久久电影| 影音国产精品| 午夜久久av| 国产视频一区二区在线播放| 自由日本语亚洲人高潮| 国产精品地址| 日韩精品三级| 综合激情网站| 在线精品福利| 国产欧美自拍| 亚洲人亚洲人色久| 91综合久久爱com| 久久99精品久久久野外观看| 久久久精品国产**网站| 亚洲综合中文| 日韩国产欧美三级| 日本欧美一区二区| 精品一区三区| 影视先锋久久| 麻豆精品一区二区综合av| 欧美精品国产一区| 国产综合视频| 国产手机视频一区二区| 青草av.久久免费一区| 精品久久网站| 亚洲综合色婷婷在线观看| 色爱综合网欧美| 日韩1区2区3区| 国产精品成人3p一区二区三区| 视频二区不卡| 91精品啪在线观看国产爱臀| 1024精品久久久久久久久| 精品日韩毛片| 免播放器亚洲| 亚洲资源av| 国产不卡精品在线| 国产成人精品一区二区免费看京 | 国产精品一区亚洲| 都市激情国产精品| 午夜性色一区二区三区免费视频| 日韩精品福利一区二区三区| 日本在线啊啊| 青青在线精品| 国产亚洲人成a在线v网站| 国产毛片一区二区三区| 国产欧美日韩一级| 久久精品色播| 偷拍欧美精品| 日本综合精品一区| 国产精品jk白丝蜜臀av小说| 国产一区二区精品福利地址| 欧美粗暴jizz性欧美20| 亚洲3区在线| 中文在线资源| 色8久久久久| 天使萌一区二区三区免费观看| 欧美aa在线观看| 岛国av在线网站| 黑丝一区二区三区| 色婷婷色综合| 日韩精品一区二区三区中文| 久久亚洲色图| 亚洲综合不卡| 欧美激情在线精品一区二区三区| 亚洲三级欧美| 亚洲一区二区三区中文字幕在线观看 | 美腿丝袜亚洲三区| 精品一区在线| 精品国产91| 亚洲尤物av| 日韩精品久久久久久久电影99爱 | 久久福利精品| 免费日韩av片| 午夜亚洲精品| 石原莉奈在线亚洲三区| 999国产精品| 一本综合精品| 国产精品成人自拍| 日韩国产高清在线| 国产一区二区三区不卡av | 日韩高清一区在线| 亚洲午夜黄色| 精品国产精品国产偷麻豆| 国产精品免费看| 久久久人人人| 精品一区二区三区免费看| 男人操女人的视频在线观看欧美| 久久三级毛片| 欧美精品三级在线| 日韩一区二区三区精品视频第3页| 一区二区视频欧美| 久久夜夜操妹子| 高清日韩中文字幕| 成人在线超碰| 久久精品亚洲欧美日韩精品中文字幕| 久久蜜桃精品| 视频一区免费在线观看| 免费观看亚洲| 亚洲精品婷婷| 91国内精品| 亚洲主播在线| 亚洲综合电影| 日本欧美在线| 国产suv精品一区二区四区视频| 人人精品久久| 国内自拍视频一区二区三区| 免费在线亚洲| 亚洲丝袜美腿一区| 99久久99久久精品国产片果冰| 国产在线不卡| 亚洲精品美女| 国产白浆在线免费观看| 不卡av一区二区| 日本不卡不码高清免费观看 | 国产一在线精品一区在线观看| 日韩免费高清| 日本亚洲欧美天堂免费| 国产亚洲久久| 久久久久久久欧美精品| 久久av网站| 欧美精品国产一区| 久久精品伊人| 中文字幕亚洲在线观看|