信息发布→ 登录 注册 退出

javascript默认参数是什么_如何设置它们

发布时间:2025-12-31

点击量:
JavaScript默认参数是在函数定义时为参数预设的值,仅当传入undefined时生效,支持表达式、函数调用及前序参数引用,并可与解构赋值结合用于配置对象。

JavaScript 默认参数是指在函数定义时为参数预先指定的值,当调用函数时未传入该参数(或传入 undefined),就会自动使用这个预设值。

默认参数的基本写法

在函数参数列表中,直接用 = 赋值即可设置默认值:

示例:

function greet(name = "游客", greeting = "你好") {
  return `${greeting},${name}!`;
}
console.log(greet());           // "你好,游客!"
console.log(greet("小明"));     // "你好,小明!"
console.log(greet("小明", "嗨")); // "嗨,小明!"

默认参数的触发条件

默认值只在参数值为 undefined 时生效,其他“假值”(如 null0false"")不会触发默认值:

  • greet("") → 使用空字符串,不是默认的 "游客"
  • greet(null) → 使用 null,不是默认的 "游客"
  • greet(undefined) → 才会启用默认值

默认参数支持表达式和函数调用

等号右边可以是任意合法表达式,包括函数调用、逻辑运算、甚至访问其他已声明的参数(注意:只能引用前面的参数):

  • function pow(base, exp = 2) { return base ** exp; }
  • function createObj(name, id = Date.now()) { return { name, id }; }
  • function multiply(a, b = a * 2) { return a * b; } ✅ 可用前面的 a
  • function bad(a = b, b = 1) { } ❌ 报错:不能引用后面的参数

与解构赋值结合更灵活

常用于处理配置对象,让调用更清晰且容错更强:

function connect({ host = "localhost", port = 3000, secure = false } = {}) {
  return `http${secure ? "s" : ""}://${host}:${port}`;
}
connect();                          // "http://localhost:3000"
connect({ secure: true });          // "https://localhost:3000"
connect({ host: "api.example.com" }); // "http://api.example.com:3000"

注意末尾的 = {}:它为整个对象参数设默认值,防止传入 undefined 导致解构报错。

标签:# javascript  # java  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!