函数参数的默认值

Posted allenzhang-920

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数参数的默认值相关的知识,希望对你有一定的参考价值。

// ES5
function a (x, y) {
  x = x === undefined ? 1 : 1
  y = y === undefined ? 2 : y
  return x + y
}

console.log(a())
3
// ES6
function a (x = 1, y = 2) {
  return x + y
}

console.log(a())
3

默认参数还可以是前面参数的表达式

// ES6
function a (x = 1, y = x + x) {
  return x + y
}

console.log(a())
3

指定部分默认参数的值,不指定就用undifined

// ES6
function a (x = 1, y = x + x) {
  return x + y
}

console.log(a(undefined, 5))
6

在ES6中,函数名.length可以返回形参中非默认参数的个数

// ES6
function a (x = 1, y = x + x) {
  console.log(a.length)
}

console.log(a(undefined, 5))
0

 

以上是关于函数参数的默认值的主要内容,如果未能解决你的问题,请参考以下文章

Swift 学习- 07 -- 函数

JS常用代码片段-127个常用罗列-值得收藏

Python 默认参数混淆

Swift 官方文档中文版: 函数

golang函数中的参数为啥不支持默认值

在JAVA中能给方法参数赋默认值吗