再学JavaScript ES(6-10)全版本语法大全(6)- 函数参数的默认值

1 函数参数默认值

1.1 ES5

function f(x, y, z) {
    if (y === undefined) {
        y =1000
    }

    if (z === undefined) {
        z =100
    }

    return x + y + z
}

console.log(f(1))

1.6 ES6


// 指定默认值
function f(x, y = 10, z = 100) {
    return x + y + z
}

console.log(f(1,undefined,1))
// 指定默认值
function f(x, y = 10, z = x + y) {
    return x + y + z
}

// 指定默认值
function f(x, y = 10, z = x + y) {

    console.log(Array.from(arguments))

    return x + y + z
}

console.log(f(1,undefined,2))

在这里插入图片描述


  • 处理不确定的参数

function sum(){ 
    let sum = 0;

    // 将伪数组转换为数组
    // Array.prototype.forEach.call(arguments, function (item) {
    //     sum += item *1
    // })

    Array.from(arguments).forEach(function (item) {
        sum += item *1
    })

    return sum;
}

console.log(sum(1,2,3))
// Rest 参数
function sum(...num){ 
    
    let num = 0
    num.forEach(function (item) {
        num += item * 1
    })

    return num
}

console.log(sum(1,2,3))

  • rest 参数的逆运算

ES5

function sum(x = 1, y = 2, z = 3) {
    return x + y + z
}

let data = [6, 6, 6]

console.log(sum.apply(this, data))

ES6

function sum(x = 1, y = 2, z = 3) {
    return x + y + z
}

let data = [6, 6, 6]

console.log(sum(...data))

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页