参数默认值
一般情况下,在函数传递参数时,会将参数全部传入,而很多情况下在参数变多的时候有些时候就会变得麻烦起来,而很多种情况下有一大部分参数都是不会变的,因为既要保证灵活性,同时又要方便的调用这样就在ES6中引入了一个新的概念:参数默认值。
在之前我们要完成这样一个默认值的方法需要些很多的代码比较麻烦,而在ES6中书写形参时直接给形参赋值,赋的值即为默认值。
这样一来当调用函数时,如果没有给对应的参数赋值,给它的值是undefined
则会自动使用默认值
- 注意一定得是
undefined
不能是null
,因为null
在数学运算中null
为0。
function sun (a, b = 1, c = 2) {
}
sun(1, undefined,undefined)//此时也可以不写
且不光可以是字面量,也可以是表达式。
参数默认值对arguments
的影响
在严格模式下arguments
跟形参是脱离的,而在非严格模式下则是不脱离的。
function test(a, b) {
console.log("arguments",