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

JavaScript函数中设置参数默认值,可以让函数在缺少传参时依然正常运行。现代JS提供了简洁的语法来实现,默认值只有在传入的参数为 undefined 时才会被启用。
ES6引入了直接在函数定义中设置默认值的写法,语法清晰直观。
function greet(name = '游客', message = '欢迎光临') {greet(); // 输出:游客,欢迎光临
greet('小明'); // 输出:小明,欢迎光临
greet('小红', '很高兴见到你'); // 输出:小红,很高兴见到你
这种方式适用于字符串、数字、布尔值等基本类型,也支持表达式或函数调用作为默认值(但注意性能影响)。
在ES6之前,常用 || 操作符来处理默认值。它依赖“假值判断”,但存在局限性。
function multiply(a, b) {multiply(5, 2); // 10
multiply(5); // 5
multiply(0, 5); // 5(有问题!0被认为是假值)
这种方法的问题在于,像 0、''、false 这类合法值也会被替换,因此不推荐用于需要精确控制的场景。
如果需要兼容老旧浏览器或确保只在参数未传时设默认值,可以手动检查类型。
function power(base, exp) {power(3); // 9
power(2, 3); // 8
这种方式最安全,适用于对参数类型敏感的函数,但代码略显冗长。
默认参数不限于简单值,还可以是对象、数组,甚至是函数返回值。
function createPost(author, date = new Date(), tags = []) {function log(msg, timestamp = getCurrentTime()) {
console.log([${timestamp}] ${msg});
}
注意:每次函数调用时都会重新计算默认表达式,除非是原始值。对象或数组的默认值每次都是新实例,避免共享引用问题。
基本上就这些。优先使用ES6默认参数,简洁又可靠。避免用 || 处理可能为假值的输入。根据实际需求选择合适方式即可。不复杂但容易忽略细节。
以上就是JS函数怎样设置默认值_JS函数参数默认值设置方法与案例的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号