JS函数怎样设置默认值_JS函数参数默认值设置方法与案例

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

js函数怎样设置默认值_js函数参数默认值设置方法与案例

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被认为是假值)

这种方法的问题在于,像 0false 这类合法值也会被替换,因此不推荐用于需要精确控制的场景。

使用 typeof 判断 undefined(兼容老环境)

如果需要兼容老旧浏览器或确保只在参数未传时设默认值,可以手动检查类型。

CodeSquire CodeSquire

AI代码编写助手,把你的想法变成代码

CodeSquire 103 查看详情 CodeSquire 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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月28日 08:02:22
下一篇 2025年11月28日 08:07:38

相关推荐

发表回复

登录后才能评论
关注微信