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

首頁 > 語言 > JavaScript > 正文

Javascript中的默認參數詳解

2024-05-06 16:10:00
字體:
來源:轉載
供稿:網友
本文詳細介紹了javascript中的默認參數問題,非常的詳細,希望對大家能有所幫助
 
 

一些語言——像Ruby,CoffeeScript及即將到來的javascript版本——在定義一個函數的時候,可以聲明默認參數,像下面這樣:

 

復制代碼代碼如下:

function myFunc(param1, param2 = "second string") {
    console.log(param1, param2);
}

 

// Outputs: "first string" and "second string"
myFunc("first string");

// Outputs: "first string" and "second string version 2"
myFunc("first string", "second string version 2");

 

不幸的是,在當前的javascript版本,這種寫法的無效的。因此,我們能做些什么來實現這種方式,使用我們現有的工具集?

最簡單的解決方式像這樣:

 

復制代碼代碼如下:

function myFunc(param1, param2) {
    if (param2 === undefined) {
        param2 = "second string";
    }

 

    console.log(param1, param2);
}

// Outputs: "first string" and "second string version 2"
myFunc("first string", "second string version 2");

 

事實是一個被省略的參數在訪問時總是“undefined”。如果你只有一個參數,這是一個好的解決方式,當時如果有多個呢?

如果你多于一個參數,你可以使用一個對象作為參數,這樣有一個優點是每個參數都有一個明確的命名。如果你傳遞一個對象參數,你可以使用相同的方式聲明默認值。

 

復制代碼代碼如下:

function myFunc(paramObject) {
    var defaultParams = {
        param1: "first string",
        param2: "second string",
        param3: "third string"
    };

 

    var finalParams = defaultParams;

    // We iterate over each property of the paramObject
    for (var key in paramObject) {
        // If the current property wasn't inherited, proceed
        if (paramObject.hasOwnProperty(key)) {
            // If the current property is defined,
            // add it to finalParams
            if (paramObject[key] !== undefined) {
                finalParams[key] = paramObject[key];
            }
        }
    }

    console.log(finalParams.param1,
                finalParams.param2,
                finalParams.param3);
}
myFunc({param1: "My own string"});

 

這是一個有點笨拙,如果你使用這種方式的地方很多,可以寫個封裝函數,幸運的是,現在好多庫中帶了相關方法,比如jQuery和Underscore中的extend方法。

下面使用Underscore的extend方法來實現上面相同的結果:

 

復制代碼代碼如下:

function myFunc(paramObject) {
    var defaultParams = {
        param1: "first string",
        param2: "second string",
        param3: "third string"
    };

 

    var finalParams = _.extend(defaultParams, paramObject);

    console.log(finalParams.param1,
                finalParams.param2,
                finalParams.param3);
}

// Outputs:
// "My own string" and "second string" and "third string"
myFunc({param1: "My own string"});

 

這就是你如何能得到默認參數,在當前的javascript版本中。

文中不妥之處歡迎批評指正。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线精品国产成人综合| 欧美第一淫aaasss性| 久久精品国产亚洲一区二区| 日本韩国欧美精品大片卡二| 日韩av电影手机在线观看| 欧美在线亚洲在线| 91在线免费网站| 久久久精品久久久| 日韩一级黄色av| 92看片淫黄大片看国产片| 亚洲成人av资源网| 欧美在线不卡区| 国产在线日韩在线| 国产精品久久视频| 欧美日韩中文字幕在线| 国产精品亚洲аv天堂网| 日韩中文在线中文网在线观看| 欧美性猛交xxxx乱大交3| 精品久久久久国产| 日韩美女在线看| 亚洲精品视频在线播放| 亚洲成人三级在线| 欧美精品在线观看| 午夜精品久久久久久99热| 91手机视频在线观看| 在线成人激情视频| 亚洲第一区第二区| 日韩在线国产精品| 国产一区二区三区丝袜| 国产成人高清激情视频在线观看| 亚洲美女精品久久| 精品国产乱码久久久久久婷婷| 亚洲va电影大全| 欧美视频免费在线| 综合国产在线视频| 欧美性受xxxx黑人猛交| 中文字幕日韩在线视频| 久久久精品一区二区| 欧洲中文字幕国产精品| 欧美日韩午夜视频在线观看| 97精品一区二区三区| 国产香蕉一区二区三区在线视频| 亚洲国产精品专区久久| 久久久久久亚洲精品不卡| 欧美一区二区三区免费视| 精品综合久久久久久97| 色婷婷久久一区二区| 狠狠躁18三区二区一区| 亚洲欧美日韩一区二区在线| 日韩精品免费在线播放| 国产精品亚洲美女av网站| xxx欧美精品| 国产精品久久久久久亚洲影视| 国产69久久精品成人| 日韩大胆人体377p| 亚洲欧美国产另类| 91精品国产99| 欧美中文在线视频| 国产精品视频自在线| 国产精品一区二区性色av| 精品国产一区二区三区在线观看| 91精品在线国产| 亚洲精品成人久久久| 欧美性受xxxx黑人猛交| 国产精品久久久av久久久| 欧美大片欧美激情性色a∨久久| 琪琪亚洲精品午夜在线| 久久精品影视伊人网| 久久久免费精品视频| 亚洲欧美另类在线观看| 国产亚洲xxx| 国产精品日韩一区| 亚洲一区二区国产| 日韩av网站大全| 日韩美女视频免费看| 欧美日韩中文在线观看| www亚洲欧美| 日韩欧美视频一区二区三区| 永久免费毛片在线播放不卡| 国产精品自产拍在线观看中文| 久久综合久久88| 国产在线观看精品一区二区三区| 另类天堂视频在线观看| 久久久久久久久久久人体| 日韩高清av在线| 国产成人极品视频| 国产午夜精品全部视频在线播放| 中文在线资源观看视频网站免费不卡| 亚洲精品98久久久久久中文字幕| 九九九热精品免费视频观看网站| 亚洲电影免费观看高清完整版在线观看| 中文字幕日韩av| 国内精品国产三级国产在线专| 久久伊人色综合| 91亚洲永久免费精品| 久久人人97超碰精品888| 色老头一区二区三区| 在线播放国产精品| 国产综合在线视频| 欲色天天网综合久久| 欧美人与性动交| 久久久爽爽爽美女图片| 亚洲一区精品电影| **欧美日韩vr在线| 国产精品久久久久久久久久尿| 亚洲最大激情中文字幕| 日韩av不卡电影| 国产原创欧美精品| 日韩av网站电影| 久久韩国免费视频| 91在线无精精品一区二区| 国产精品男女猛烈高潮激情| 国产日韩精品在线播放| 亚洲a级在线播放观看| 国产精品夫妻激情| 日韩一区二区三区在线播放| 欧美成人免费视频| 日韩av综合中文字幕| 91在线免费观看网站| 国产成人精品视| 日韩久久免费电影| 国模精品视频一区二区三区| 国产精品亚洲综合天堂夜夜| 亚洲精品资源在线| 欧美日韩亚洲精品一区二区三区| 日韩专区在线观看| 亚洲综合小说区| 欧美激情一区二区三级高清视频| 狠狠躁夜夜躁人人躁婷婷91| 欧美性xxxx在线播放| 日本久久久久久久| 91高清在线免费观看| 美日韩丰满少妇在线观看| 日韩精品高清在线| 亚洲欧美日韩另类| 国产精品福利在线| 欧美大片免费观看| 在线观看欧美日韩国产| 亚洲欧美日本另类| 精品国产91乱高清在线观看| 精品久久久91| 日韩中文有码在线视频| 97超碰色婷婷| 欧美精品一区二区三区国产精品| 中文字幕在线看视频国产欧美| 日韩中文字幕免费| 一本色道久久88综合日韩精品| 亚洲2020天天堂在线观看| 视频在线观看99| 色综合久久悠悠| 国产亚洲精品激情久久| 色综合久久悠悠| 浅井舞香一区二区| 7777精品久久久久久| 亚洲国产欧美一区| 日韩欧美亚洲范冰冰与中字| 欧美日韩在线看| 国产精品入口尤物| 国产91精品久久久久久久| 亚洲久久久久久久久久久| 亚洲国内精品在线| 久久久91精品国产一区不卡| 国产精品视频导航| 久久资源免费视频|