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

网站开发要考什么证襄阳建设网站公司

网站开发要考什么证,襄阳建设网站公司,职业培训机构排名,成都网站建设公司地址在 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/824604.html

相关文章:

  • 建设小微公司网站需要多少钱无锡网站建设服务公司
  • 有没有电脑做兼职的网站安徽seo顾问服务
  • 福建公司网站建设定制类电商平台
  • 购物网站模板html体验好的网站
  • 青岛外贸建设网站制作小型门户网站建设方案
  • 江苏网站制作企业wordpress博客登录
  • 做房产网站需要了解什么东西做网站每年需要多少维护费
  • 制作网站的收入来源于哪里专门做物理的网站
  • 做网站的外包公司可以进吗wordpress4.7企业主题
  • 网站设计师的专业知识用ps做个人网站界面
  • 网站开发后端语言有哪些新余做网站
  • 济南最好的网站制作公司哪家好四川省建设厅资格注册中心网站
  • 做公司网站的好处为什么做的网站有的有弹窗有的没有
  • html5在线制作网站模板茶山网站建设公司
  • 大连开发区网站ps网站主页按钮怎么做
  • 兰州优秀网站推广网站建设平台加盟
  • 小说盗版网站怎么做商城平台是什么
  • 用thinkphp做的网站网站建设 万网
  • 襄阳作风建设年活动网站腾讯邮箱注册
  • 海南住房和城乡建设部网站电子商务网站建设的认识的心得
  • 网站配置文件在哪里墨客网站建设xcyxqc
  • 做网站销售工资wordpress customizr
  • 企业做网站etp和源程序广州做网站费用
  • 购物网站的建立做网站用到什么软件
  • 自己做网站卖视频建站免费空间
  • 网站设计的公司叫什么怎么建设课题网站
  • 网站seo分析报告案例优化方法
  • 0基础建设网站营销网站建设前期准备
  • 泰州品牌网站建设网站标签怎么设置
  • 网站建设公司方维二维码生成网址链接