久久精品五月,日韩不卡视频在线观看,国产精品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综合
日韩影院免费视频| 精品99在线| 国精品一区二区| 亚洲国产专区校园欧美| 激情六月综合| 午夜一区在线| 日本亚洲最大的色成网站www| 日韩一区精品| 六月丁香综合在线视频| 一区二区精品伦理...| 久久激情网站| 一本一道久久a久久| 国产毛片精品久久| 欧美xxxx性| 久久久水蜜桃av免费网站| 午夜久久影院| 日本一区二区中文字幕| 欧美aa在线视频| 99tv成人| 欧美亚洲三区| 91看片一区| 亚洲人成亚洲精品| 欧美激情福利| 国产韩日影视精品| 日韩va欧美va亚洲va久久| 日韩福利在线观看| 精品国产中文字幕第一页| 999久久久91| 亚洲免费福利一区| 老司机精品在线| 蜜桃一区二区三区| 国产亚洲电影| 国产资源在线观看入口av| 国产模特精品视频久久久久| 国产精品中文字幕制服诱惑| 亚洲91精品| 国产免费久久| 丝瓜av网站精品一区二区 | 久久最新视频| 精品视频91| 91精品国产成人观看| 亚洲日韩视频| 久久人人精品| 国产乱子精品一区二区在线观看| 欧美日韩精品免费观看视欧美高清免费大片 | 伊人久久亚洲美女图片| 日韩高清三区| 91精品国产自产在线观看永久∴ | 精品国产乱码久久久| 巨乳诱惑日韩免费av| 福利一区视频| 日韩国产欧美视频| 国产女优一区| 神马久久午夜| 国产精品一区二区三区美女| 国产精品色网| 播放一区二区| 精品日本视频| 综合一区在线| 亚洲激情五月| 国产综合色区在线观看| 欧美国产不卡| 国产无遮挡裸体免费久久| 日韩亚洲在线| 久久激情中文| 亚洲永久av| 免费在线亚洲| 日韩avvvv在线播放| 久久国产高清| 亚洲精品国产偷自在线观看| 日韩不卡免费高清视频| 免费亚洲婷婷| 国产香蕉精品| 亚洲ww精品| 亚洲在线免费| 九一国产精品| 久久精品国产亚洲夜色av网站| 精品欧美日韩精品| 国产精品天天看天天狠| 日韩高清在线观看一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 黄色日韩在线| 亚洲精品1区| 香蕉精品视频在线观看| 91精品韩国| 久久九九精品| 久久精品亚洲欧美日韩精品中文字幕| 色一区二区三区四区| 国产精品成人**免费视频 | 久久五月天小说| 成人羞羞在线观看网站| 欧美激情国产在线| 精品国产a一区二区三区v免费| 青青国产91久久久久久| 日韩在线网址| 欧美亚洲一区二区三区| 久久精品xxxxx| 国产精品网在线观看| 欧美激情日韩| 国产一区2区在线观看| 高清一区二区三区| 麻豆成人91精品二区三区| 国内精品美女在线观看| 国产欧洲在线| 日本欧美不卡| 不卡av一区二区| 久久都是精品| 日韩国产精品久久久久久亚洲| 91精品国产经典在线观看| 国产欧美日韩一区二区三区四区| 国产精品欧美日韩一区| 国产一区精品福利| 日韩伦理一区| 国产一区二区三区自拍| 亚洲欧美日韩国产| 69精品国产久热在线观看| 欧美日韩亚洲三区| 老牛国内精品亚洲成av人片 | 国产欧美自拍| а√天堂8资源中文在线| 亚洲午夜一级| 免费成人在线视频观看| 清纯唯美亚洲综合一区| 精品一区二区三区免费看| 色老板在线视频一区二区| 国产亚洲一区在线| 国产日韩欧美一区二区三区在线观看| 精品国产不卡一区二区| 亚洲激情中文| 天堂va欧美ⅴa亚洲va一国产| 欧美成a人片免费观看久久五月天| 国产不卡人人| 香蕉久久久久久久av网站| 日韩二区在线观看| 国产夫妻在线| 日韩精品一卡二卡三卡四卡无卡| 久久国产尿小便嘘嘘| av综合电影网站| 亚洲人亚洲人色久| 日本一区二区高清不卡| 夜久久久久久| 国产精品日韩精品中文字幕| 欧洲精品一区二区三区| 婷婷视频一区二区三区| 精品美女在线视频| 在线综合视频| 美女精品一区二区| 午夜国产欧美理论在线播放 | 久久国产精品久久w女人spa| 国产精久久久| 欧美日韩国产欧| 国产欧美日韩亚洲一区二区三区| 99久久久久| 国产精品视频3p| 好看不卡的中文字幕| 久久精品国产久精国产| 欧美日韩视频一区二区三区| 久久国产精品免费一区二区三区| 久久久久久免费视频| 国产精品男女| 免费精品视频| 亚洲伦乱视频| 国产精品日韩精品在线播放| 夜夜嗨网站十八久久| 精品精品99| 欧美永久精品| 亚洲色诱最新| 黄毛片在线观看| 欧美亚洲人成在线| 蜜臀av亚洲一区中文字幕| 久久久久99| 麻豆91精品视频| 亚洲精品无播放器在线播放| 日韩精品一区二区三区免费观影| 国产毛片久久久| 亚洲欧洲国产精品一区| 欧美精品一二| 四虎884aa成人精品最新| 精品资源在线| 欧美久久一区二区三区| 性色av一区二区怡红| 999久久久亚洲| 黑森林国产精品av| 免费在线日韩av| 97久久超碰| 一区二区三区四区在线观看国产日韩| 高清不卡亚洲| 欧美aa在线视频| 国产探花一区| 日韩精品免费视频人成| 蜜臀av一区二区三区| 亚洲一区二区毛片| 国产精品88久久久久久| 国产精品亚洲一区二区三区在线观看| 欧美黄色精品| 麻豆精品视频在线观看视频| 国产精品永久| 麻豆精品一区二区综合av| 久久99久久人婷婷精品综合| 国产欧美自拍一区|