ES6默认参数语法让函数在缺省传参时仍可正常运行,如function greet(name = ‘游客’);相比旧方法||易误判假值,推荐使用ES6方式,支持表达式、函数调用且每次重新计算,避免共享引用,更安全简洁。

JavaScript函数中设置参数默认值,可以让函数在缺少传参时依然正常运行。现代JS提供了简洁的语法来实现,默认值只有在传入的参数为 undefined 时才会被启用。
使用ES6默认参数语法
ES6引入了直接在函数定义中设置默认值的写法,语法清晰直观。
function greet(name = ‘游客’, message = ‘欢迎光临’) {
console.log(`${name},${message}`);
}
greet(); // 输出:游客,欢迎光临
greet(‘小明’); // 输出:小明,欢迎光临
greet(‘小红’, ‘很高兴见到你’); // 输出:小红,很高兴见到你
这种方式适用于字符串、数字、布尔值等基本类型,也支持表达式或函数调用作为默认值(但注意性能影响)。
利用逻辑运算符 || 设置默认值(旧方法)
在ES6之前,常用 || 操作符来处理默认值。它依赖“假值判断”,但存在局限性。
function multiply(a, b) {
a = a || 1;
b = b || 1;
return a * b;
}
multiply(5, 2); // 10
multiply(5); // 5
multiply(0, 5); // 5(有问题!0被认为是假值)
这种方法的问题在于,像 0、”、false 这类合法值也会被替换,因此不推荐用于需要精确控制的场景。
使用 typeof 判断 undefined(兼容老环境)
如果需要兼容老旧浏览器或确保只在参数未传时设默认值,可以手动检查类型。
CodeSquire
AI代码编写助手,把你的想法变成代码
103 查看详情
function power(base, exp) {
if (typeof exp === ‘undefined’) {
exp = 2;
}
return Math.pow(base, exp);
}
power(3); // 9
power(2, 3); // 8
这种方式最安全,适用于对参数类型敏感的函数,但代码略显冗长。
默认值支持复杂类型和函数调用
默认参数不限于简单值,还可以是对象、数组,甚至是函数返回值。
function createPost(author, date = new Date(), tags = []) {
return { author, date, tags };
}
function log(msg, timestamp = getCurrentTime()) {
console.log([${timestamp}] ${msg});
}
注意:每次函数调用时都会重新计算默认表达式,除非是原始值。对象或数组的默认值每次都是新实例,避免共享引用问题。
基本上就这些。优先使用ES6默认参数,简洁又可靠。避免用 || 处理可能为假值的输入。根据实际需求选择合适方式即可。不复杂但容易忽略细节。
以上就是JS函数怎样设置默认值_JS函数参数默认值设置方法与案例的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/877469.html
微信扫一扫
支付宝扫一扫