设置函数的默认参数是在 JavaScript 中比较常见的需求。在 ES6 以前,我们可以使用一些技巧来模拟函数默认参数值的功能,但这些方法比较麻烦。而在 ES6 中,官方标准化了函数默认参数值的写法,能够让我们更加方便地编写代码。这里我们介绍几种设置 JS 函数默认参数的方式。
方法一:使用 || 来设置默认参数
这种方法是比较常见的写法。这种方式可以利用 JavaScript 中逻辑运算符 || 的特性,只要第一个表达式为 false,则返回第二个表达式的值。利用这个特性,我们就可以设置函数的默认参数。
function sayHello(name) {
name = name || 'guest'; // 如果 name 为 false(例如 undefined、null、false、0),则把 name 赋值为 'guest'
console.log('Hello, ' + name);
}
sayHello('Bob'); // 输出:Hello, Bob
sayHello(); // 输出:Hello, guest
方法二:使用 ES6 的默认参数
在 ES6 中,可以很方便地设置函数的默认参数,只需要在函数参数中直接给出默认值即可。如下面的代码所示:
function sayHello(name = 'guest') { // 如果 name 没有传入值,则默认为 'guest'
console.log('Hello, ' + name);
}
sayHello('Bob'); // 输出:Hello, Bob
sayHello(); // 输出:Hello, guest
方法三:使用 Object.assign 设置默认参数
除了使用逻辑运算符和 ES6 的默认参数以外,我们还可以使用 Object.assign 的方式来设置函数的默认参数值。
function sayHello(opts) {
opts = Object.assign({name: 'guest'}, opts);
console.log('Hello, ' + opts.name);
}
sayHello({name: 'Bob'}); // 输出:Hello, Bob
sayHello(); // 输出:Hello, guest
在这个示例中,我们把函数的参数 opts 合并了一个默认的对象 {name: 'guest'},如果传入的 opts 参数中包含 name 字段,则会覆盖掉默认值。
以上就是设置 JS 中函数默认参数值的 3 种方法。我们可以根据具体的需求来选择不同的方法。其中 ES6 的写法是最常用的方式,也是较为方便和优雅的写法。如果要兼容 ES6 以下的版本,我们也可以选择使用第一种方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中对函数设置默认参数值的3种方法 - Python技术站