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

JavaScript 默认参数是指在函数定义时为参数预先指定的值,当调用函数时未传入该参数(或传入 undefined),就会自动使用这个预设值。
默认参数的基本写法
在函数参数列表中,直接用 = 赋值即可设置默认值:
示例:
function greet(name = "游客", greeting = "你好") {
return `${greeting},${name}!`;
}
console.log(greet()); // "你好,游客!"
console.log(greet("小明")); // "你好,小明!"
console.log(greet("小明", "嗨")); // "嗨,小明!"
默认参数的触发条件
默认值只在参数值为 undefined 时生效,其他“假值”(如 null、0、false、"")不会触发默认值:
家电公司网站源码是一个以米拓为核心进行开发的家电商城网站模板,程序采用metinfo5.3.9 UTF8进行编码,软件包含完整栏目与数据。安装方法:解压上传到空间,访问域名进行安装,安装好后,到后台-安全与效率-数据备份还原,恢复好数据后到设置-基本信息和外观-电脑把网站名称什么的改为自己的即可。默认后台账号:admin 密码:132456注意:如本地测试中127.0.0.1无法正常使用,请换成l
-
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 导致解构报错。










