本文實(shí)例講述了ES6知識點(diǎn)整理之函數(shù)數(shù)組參數(shù)的默認(rèn)值及其解構(gòu)應(yīng)用。分享給大家供大家參考,具體如下:
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供興業(yè)網(wǎng)站建設(shè)、興業(yè)做網(wǎng)站、興業(yè)網(wǎng)站設(shè)計、興業(yè)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、興業(yè)企業(yè)網(wǎng)站模板建站服務(wù),10多年興業(yè)做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
在ES6中, 函數(shù)的參數(shù)也可以使用解構(gòu)賦值和默認(rèn)值的設(shè)置,下面我們來看下
在ES6之前設(shè)置函數(shù)默認(rèn)值的寫法
function test(x,y) { x = x || 12; y = y || 22; console.log(x,y); } test(); // 12 22 test(1,2) // 1 2
在ES6中給函數(shù)參數(shù)賦默認(rèn)值
function test(x=12, y=22) { console.log(x,y); } test(); // 12 22 test(3,4); // 3 4
ES6中函數(shù)數(shù)組參數(shù)的默認(rèn)值
function test([x=2,y=1]) { console.log(x, y); } test([]); // 2, 1 test([3,4]) // 3 4 test(); // 報錯: Uncaught TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined
解決上述最后一個錯誤:使用默認(rèn)數(shù)組來匹配沒有參數(shù)的情形
function test([x=2,y=1]=[]) { console.log(x, y); } test(); // 2 1
更多應(yīng)用:
function test([x=2,y=1]=[], z=90) { console.log(x, y, z); } test(); // 2 1 90 test(undefined, 80); // 2 1 80 test('', 50); // 2 1 50 正常輸出 // test(null, 80); // 報錯,不能填入null Uncaught TypeError: Cannot read property 'Symbol(Symbol.iterator)' of object // test(NaN, 60); // 報錯: Uncaught TypeError: undefined is not a function
注意上面函數(shù)參數(shù)可以接受undefined,但不能接受null和NaN
下面則是更復(fù)雜的應(yīng)用
function test([x=2,[y=3,w=4]=[]]=[], z=90) { console.log(x, y, w, z); } test(); // 2 3 4 90 test(undefined, undefined); // 2 3 4 90 test(undefined, 8); // 2 3 4 8 test([5,[]],12); // 5 3 4 12 test([5,[2,6]],12); // 5 2 6 12
注意其中的陷阱:
function test([x,y]=[1,2]) { console.log(x,y); } test(); // 1 2 test([]); // undefined undefined
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼運(yùn)行結(jié)果。
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。