一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

輕松學習 JavaScript——第 3 部分:函數(shù)中的默認參數(shù)

 云夢天涯rqxe9h 2017-11-23

JavaScript函數(shù)可以有默認參數(shù)值。通過默認函數(shù)參數(shù),你可以初始化帶有默認值的正式參數(shù)。如果不初始化具有某些值的參數(shù),則該參數(shù)的默認值為undefined。


請看下列代碼:

function foo(num1){ console.log(num1);}foo();

在調(diào)用函數(shù)foo時,你沒有傳遞任何參數(shù),因此變量num1的默認值設置為undefined。但是,有時你可能需要設置默認值而非undefined。過去,最好的策略是測試參數(shù)值undefined,然后分配一個值。所以,在上面的例子中,如果你想要將num1的默認值設置為9,那么你可以按照以下代碼所示的方式做:

function foo(num1) { if (num1 === undefined) { num1 = 9; } console.log(num1);}foo();

ECMAScript 6引入了函數(shù)的默認參數(shù)。使用ECMA 2015的默認參數(shù)功能,你將不再需要檢查未定義的參數(shù)值?,F(xiàn)在,你可以將9設置為參數(shù)本身的默認值。你可以重寫上述函數(shù)以使用默認值,如下所示:

function foo(num1 =9) { console.log(num1);}foo();

對于函數(shù)foo,如果num1參數(shù)的值未被傳遞,那么JavaScript將設置9作為num1的默認值。

檢查未定義的參數(shù)

即使你在調(diào)用函數(shù)時明確地傳遞undefined作為參數(shù)值,參數(shù)值也將設置為默認值。

function foo(num1 =9) { console.log(num1);}foo(undefined);

在上面的代碼中,你傳遞undefined為num1的值;因此,num1的值將被設置為默認值9。

運行時計算默認值

JavaScript函數(shù)默認值在運行時計算。為了更好地理解這一點,請看以下代碼:

function foo(value = koo()) { return value;}function koo() { return 'Ignite UI';}var a = foo();console.log(a);

在函數(shù)foo中,參數(shù)值的默認值設置為函數(shù)koo。在運行時調(diào)用函數(shù)foo時,將計算函數(shù)koo。調(diào)用foo函數(shù)后,你會得到如下圖所示的輸出(在這個例子中,我們使用了Ignite UI框架)。


重用默認參數(shù)

默認參數(shù)可供之后的默認參數(shù)使用。請看下列代碼:

function foo(num1 = 9, num2 = num1 + 8){ console.log(num2);}foo();

在上面的代碼中,使用num1的默認值來計算num2的默認值。調(diào)用函數(shù)foo時將得到以下輸出:


結(jié)論

JavaScript默認參數(shù)在編寫函數(shù)時非常有用。在調(diào)用函數(shù)時,如果缺少參數(shù),則默認參數(shù)功能允許你為函數(shù)參數(shù)分配默認值,而不是將其定義為undefined。


譯文鏈接:http://www./article/easy-javascript-05-hoisting.html
英文原文:Easy JavaScript Part 5: Simplifying Function Hoisting
翻譯作者:碼農(nóng)網(wǎng) – 小峰

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    好吊妞在线免费观看视频| 午夜精品成年人免费视频| 午夜亚洲精品理论片在线观看| 少妇丰满a一区二区三区| 熟女高潮一区二区三区| 国产超薄黑色肉色丝袜| 日韩成人中文字幕在线一区| 成人日韩在线播放视频| 好吊妞视频免费在线观看| 国产一二三区不卡视频| 99热中文字幕在线精品| 亚洲淫片一区二区三区| 日本成人三级在线播放| 日本久久中文字幕免费| 国产中文字幕一区二区| 日韩专区欧美中文字幕| 亚洲中文字幕视频在线观看| 男女激情视频在线免费观看| 伊人国产精选免费观看在线视频| 欧美日本精品视频在线观看| 高清不卡视频在线观看| 日木乱偷人妻中文字幕在线| 国产一区麻豆水好多高潮| 国产激情一区二区三区不卡| 国产精品欧美日韩中文字幕| 欧美一区二区三区喷汁尤物| 国产三级黄片在线免费看| 日韩免费av一区二区三区| 国产福利在线播放麻豆| 99久久免费看国产精品| 午夜精品一区二区av| 午夜精品久久久免费视频| 白白操白白在线免费观看| 欧美av人人妻av人人爽蜜桃| 亚洲一区二区三区四区性色av | 国产福利一区二区三区四区| 爱在午夜降临前在线观看| 日韩欧美国产高清在线| 成人精品视频一区二区在线观看| 国产av精品高清一区二区三区| 久久国内午夜福利直播|