JavaScript函数默认参数在调用时动态求值,未传值或传undefined时生效,支持表达式和函数调用,提升代码灵活性与可读性。

JavaScript函数中设置默认参数非常实用,能提升代码的健壮性和可读性。当调用函数时未传入对应参数或传入值为undefined,默认参数会生效。
基本语法
在函数定义时,直接为参数赋值即可设置默认值:
function functionName(param1 = defaultValue1, param2 = defaultValue2) {// 函数体
}
示例:
function greet(name = "游客", age = 18) {console.log(`你好,${name},你今年${age}岁。`);
}
greet(); // 输出:你好,游客,你今年18岁。
greet("小明"); // 输出:你好,小明,你今年18岁。
greet("小红", 25); // 输出:你好,小红,你今年25岁。
默认参数的求值时机
默认参数是在函数调用时动态求值的,不是定义时。这意味着你可以使用之前定义的参数作为后续参数的默认值。
立即学习“Java免费学习笔记(深入)”;
function greet(fullName, greeting = `你好,${fullName}`) {console.log(greeting);
}
greet("张三"); // 输出:你好,张三
注意:后面的参数可以引用前面的参数,但不能反过来。
系统模块主要有:1、网站栏目可以自定义网站栏目,自定义的网站栏目可以分为两个级别层次,当然也可以只做一个层次,设置新网站栏目后编辑网站栏目的内容;默认栏目有些可以关闭和开启。2、物品展示系统与以往网站系统不同的是,该物品展示系统可以从0全部自定义物品的所有参数和信息;因为每种物品的详细参数是不一样的,如手机和笔记本参数完全不一样;可以自定义新物品的参数,然后自定义物品的次级和三级物品分类,大大实现
使用表达式和函数作为默认值
默认值不限于原始值,也可以是表达式甚至函数调用。
function getTime() {return new Date().toLocaleTimeString();
}
function log(message, time = getTime()) {
console.log(`[${time}] ${message}`);
}
log("系统启动"); // 输出类似:[10:30:15] 系统启动
每次调用函数时都会重新执行getTime(),确保获取的是当前时间。
注意事项
理解以下几点有助于避免常见问题:
- 只有传入
undefined时才会使用默认值,传入null、空字符串或false不会触发 - 默认参数不会出现在
arguments对象中(严格模式下) - 不能访问函数内部尚未初始化的参数(暂时性死区)
基本上就这些。合理使用默认参数能让函数更灵活,减少重复代码。不复杂但容易忽略细节。










