首页 > 代码库 > ES6函数增强
ES6函数增强
函数参数可以拥有默认值。当我们调用函数时,如果没有进行相应的实参传递,函数就会使用参数的默认值。功能很强大,使用 却非常简单,只要在声明函数时候,给形参赋一个值就可以了,这个值就是该参数的默认值。
// num2拥有默认参数值5,如果没有给num2形参传递值,它的取值将会是5 function sum (num1, num2 = 5) { return num1 + num2; } console.log(sum(1)) //6 调用sum函数时, 只传递了一个参数1,所以函数中num1 =1, num2就会使用默认参数,取值为5, 1+5 =6; console.log(sum(1,2)) // 3 函数调用时,我们传递了两个参数,所以默认参数不起作用, 函数使用我们传递过去的参数 1+2 =3
默认参数值,不仅可以像上面一样使用原始值,还可以使用js表达式。
//参数second的默认值,就是js表达式,取值为第一个参数的值。 function add(first, second = first) { return first + second; } console.log(add(1, 1)); // 2 console.log(add(1)); // 2
甚至还可以使用函数表达式
function getValue(value) { return value + 5; } //参数second的默认值,就是函数表达式,函数参数是第一个参数的值。 function add(first, second = getValue(first)) { return first + second; } console.log(add(1, 1)); // 2 console.log(add(1)); // 7
对于这个函数式的默认参数,函数的调用是惰性的,如果我们调用函数时,传递了两个参数add(1,1),函数的默认参数值是用不到的,所以函数不会调用。只有传递一个参数的时候add(1), 函数的默认参数值才会用到,作为默认参数值的函数才会调用。
对于 js 表达式方式的默认参数,我们一定要注意参数的作用域。
ES6函数增强
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。