当前位置: 首页 > wzjs >正文

武汉做医疗器械公司网站的seo诊断工具

武汉做医疗器械公司网站的,seo诊断工具,实验建设网站 南京林业大学,自动推广软件下载在 JavaScript 中,给函数参数设置默认值主要有以下几种方式: 1. 函数体内手动检查赋值(ES5 及以前) 在函数内部检查参数是否为 undefined,然后手动赋值默认值。 function greet(name, age) {name name ! undefined…

在 JavaScript 中,给函数参数设置默认值主要有以下几种方式:

1. 函数体内手动检查赋值(ES5 及以前)

在函数内部检查参数是否为 undefined,然后手动赋值默认值。

function greet(name, age) {name = name !== undefined ? name : 'Guest';age = age !== undefined ? age : 18;return `Hello, ${name}! You are ${age} years old.`;
}console.log(greet()); // "Hello, Guest! You are 18 years old."
console.log(greet("Alice", 30)); // "Hello, Alice! You are 30 years old."

2. 短路运算符(||)

使用逻辑或运算符(||)为参数提供默认值,但这种方式会将所有假值(如 0false'')都替换为默认值,可能导致意外结果

function greet(name, age) {name = name || 'Guest';age = age || 18;return `Hello, ${name}! You are ${age} years old.`;
}console.log(greet()); // "Hello, Guest! You are 18 years old."
console.log(greet("", 0)); // "Hello, Guest! You are 18 years old." ❌ 不符合预期

3. ES6 箭头函数 + 解构赋值

结合箭头函数和解构赋值,为参数对象的属性设置默认值

const greet = ({ name = 'Guest', age = 18 } = {}) => {return `Hello, ${name}! You are ${age} years old.`;
};console.log(greet()); // "Hello, Guest! You are 18 years old."
console.log(greet({ name: "Alice" })); // "Hello, Alice! You are 18 years old."

4. ES6 参数默认值(最推荐)

直接在函数参数列表中为参数赋值默认值,这是 ES6 引入的标准语法,简洁且语义明确

function greet(name = 'Guest', age = 18) {return `Hello, ${name}! You are ${age} years old.`;
}console.log(greet()); // "Hello, Guest! You are 18 years old."
console.log(greet("Alice")); // "Hello, Alice! You are 18 years old."

特点

  • 只有当参数为 undefined 时才会触发默认值(传递 null 不会触发)。
  • 可以使用前面已定义的参数计算后续参数的默认值:

    javascript

    function calculate(total = 100, discount = total * 0.1) {return total - discount;
    }
    console.log(calculate()); // 90
    

5. 对象解构 + 默认值

当函数接受一个对象参数时,通过解构赋值为对象属性设置默认值。

function greet(options) {const { name = 'Guest', age = 18 } = options;return `Hello, ${name}! You are ${age} years old.`;
}console.log(greet({ name: "Alice" })); // "Hello, Alice! You are 18 years old."
console.log(greet()); // ❌ 报错:Cannot destructure property 'name' of 'options' as it is undefined.

改进: 为整个参数设置空对象默认值,避免不传参时的错误:

function greet({ name = 'Guest', age = 18 } = {}) {// ...
}
console.log(greet()); // "Hello, Guest! You are 18 years old."

6. 函数调用时动态计算默认值

将默认值设置为一个函数调用,每次调用原函数时动态生成默认值。

function getDefaultAge() {return new Date().getFullYear() - 2000;
}function greet(name = 'Guest', age = getDefaultAge()) {return `Hello, ${name}! You are ${age} years old.`;
}console.log(greet()); // "Hello, Guest! You are 25 years old." (假设当前年份是 2025)

总结对比

方式优点缺点
ES6 参数默认值简洁、语义明确、标准语法仅支持 undefined 触发
对象解构适合复杂参数结构需要额外处理不传参的情况
短路运算符简单易用会误判所有假值(如 0''
函数体内赋值兼容性好(ES5 及以前)代码冗余

最佳实践

  • 简单参数:优先使用 ES6 参数默认值。
  • 复杂参数对象:结合对象解构和默认值,避免传入空对象时的错误。
  • 动态默认值:通过函数调用生成默认值,确保每次调用时计算最新值。

选择合适的方式可以让你的代码更简洁、更健壮!

http://www.dtcms.com/wzjs/505361.html

相关文章:

  • 网站建设客户常问到的问题中山seo关键词
  • cms网站管理系统网络营销品牌推广
  • 政府网站制作平台人民网舆情数据中心官网
  • 手机网页版微信下载搜索引擎优化的流程是什么
  • 竹子建站seo设置怎么做交易平台
  • sql做网站后台网站推广
  • 开福区城乡建设局网站百度免费
  • 网站设计培训班如何长沙网站制作
  • 一般的信息网站用什么做竞价网络推广外包
  • 网站网站制作服务引流最好的推广方法
  • 佛山专业做网站公司哪家好合肥网络优化公司有几家
  • 仿照别人的网站做违法吗站长工具忘忧草社区
  • 网站推广有什么好处以网络营销为主题的论文
  • .net作业做网站网站优化排名易下拉排名
  • 免费在线制作网页山东公司网站推广优化
  • 中国作文网官网电商运营seo
  • 网站建设开发ppt模板百度推广手机app下载
  • 阳城做网站网站怎么推广出去
  • wordpress主题软件杭州关键词优化测试
  • 建自己的网站用多少钱seo优化推广流程
  • canva 可画人物插画seo优化有哪些
  • 建筑图集网站07fs02图集今天刚刚发生的新闻
  • 娱乐网站制作武汉搜索推广
  • WordPress主题设置保存seo平台是什么
  • 网站建设的一般步骤包括小程序拉新推广平台
  • 凡客精选长沙专业竞价优化首选
  • WordPress网页加载时间seo优化标题
  • 建筑通seo建站公司
  • 阿里云 个人网站宁波seo费用
  • 商务网站建设总结如何建立网上销售平台