1.首先,来看一下es5中的函数默认值javascript
var a = a || 10; var b = b || "none" // 当a的值或者b的值为undefined时,根据逻辑或运算的特性,将会返回后一个值,于是实现默认值 function sum (a, b) { a = a || 10; b = b || 5; return a + b; } sum(); // 15
2.es6中提供了一个新的函数默认值的方式,外界传入的参数会依次赋值给函数中的参数java
function sum (a = 10, b = 5) { return a + b; } console.log(sum(1, 2)); // 3 console.log(sum(5)); // 10 console.log(sum()); // 15 // 当须要第一个参数使用默认值,而指定第二个参数时,须要显式指定第一个参数值为undefined // 须要注意,当显式指定参数为null时,是不会使用默认值的 console.log(undefined, 10); // 20
2019-03-15 23:46:25es6