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

营销型网站建设风格设定包括哪些方面做网站需要的课程

营销型网站建设风格设定包括哪些方面,做网站需要的课程,在线制作logo图片,wordpress教程网模板写点东西《Javascript switch 语句的替代方法》 那么 switch 语句有什么问题#xff1f; Object Literal 查找的替代方法 将我们学到的东西变成一个实用函数 您需要的一切都在一个地方# [](#javascript-version) Javascript 版本Tyepscript version#x1f31f;更多精彩 本文… 写点东西《Javascript switch 语句的替代方法》 那么 switch 语句有什么问题 Object Literal 查找的替代方法 将我们学到的东西变成一个实用函数 您需要的一切都在一个地方# [](#javascript-version) Javascript 版本Tyepscript version更多精彩 本文扩展了 Todd Motto 关于用对象字面量替换 switch 语句的想法。这是过时、笨拙且冗长的 switch 语句的一种非常简洁美观的替代方法。在本文的最后您将获得一个基于 Todd 解决方案的实用程序函数该函数对开发人员更加友好因此请坚持到最后 如果您对技术细节不感兴趣只想了解实用程序函数请向下滚动到最后一节您需要的一切都在一个地方。 那么 switch 语句有什么问题 虽然 switch 语句在某些情况下很有用但许多人认为它不是 Javscript 最适合其用途的设计。它不如其他结构灵活、可读和可维护。 例如对 switch 语句的主要批评之一是其贯穿行为。如果您忘记在 case 的末尾包含 break 语句则控制权将贯穿到下一个 case 从而导致意外行为如下面的示例所示。这可能会使代码更容易出错且更难维护。 switch (fruit) {case apple:console.log(Apple selected);// Missing break statement, falls through to the next casecase orange:console.log(Orange selected);break;case banana:console.log(Banana selected);break;default:console.log(Unknown fruit); } 在这个示例中如果 fruit 为 apple 则 Apple selected 和 Orange selected 都将被记录。 Object Literal 查找的替代方法 与 switch 语句相比Object Literal 更灵活、更具表现力。 以下是如何使用它们仅返回 string 值。 const getDate (unit) {var date {year: 2024,month: January,day: 21,default: Default value};return (date[unit] || date[default]); }var month getDate(month); console.log(month); // January 有时我们需要编写更复杂的代码而仅返回 string 是不够的。我们可以进一步改进上述代码在其中使用函数而不是字符串以便我们可以包含更复杂的代码。 const getDate (unit) {var date {year: () {// do more complicated stuff here// just returning a string in this casereturn 2024;},month: () {return January;},day: () {return 21;},default: () {return Default value}};// we return the Object literals function invokedreturn (date[unit] || date[default])(); }var month getDate(month); console.log(month); // January 但是如果我们想要一个贯穿行为呢我们可以轻松地使用对象字面量来实现这一点它更具可读性、声明性和更不易出错。它还不会涉及添加或删除 break 而这是我们正在寻找的。 const getDayType (day) {const isWeekDay () {return Weekday;}const isWeekEnd () {return Weekend;}var days {monday: isWeekDay,tuesday: isWeekDay,wednesday: isWeekDay,thursay: isWeekDay,friday: isWeekDay,saturday: isWeekEnd,sunday: isWeekEnd, default: () {return Default value}};// we return the Object literals function invoked return (days[day] || days[default])(); }var dayType getDayType(sunday); console.log(dayType); // WeekEnd 将我们学到的东西变成一个实用函数 既然我们已经学会了如何使用 Object Literal 而不是 switch 那么让我们根据学到的知识构建一个实用函数以进一步简化我们的生活。 我们称我们的函数为 switchCase 。它接收一个具有 2 个属性的对象 cases 和 defaultCase 。Cases 是将容纳我们案例的对象字面量而 defaultCase 是…嗯默认案例。 const switchCase ({cases, defaultCase}) {} switchCase 是一个返回回调函数的高阶函数。回调函数接收 switch 表达式。 const switchCase ({cases, defaultCase}) {return (expression) {} } 现在回调函数需要做的就是返回调用的对象字面量函数。 const switchCase ({cases, defaultCase}) {return (expression) {return (cases[expression] || defaultCase)();} } 就是这样现在让我们看一个如何使用它的示例。 let date new Date()const today switchCase({cases: {year: () date.getFullYear(),month: () date.getMonth() 1,day: () date.getDate()},defaultCase: () date })today(year) // current year today(month) // current month today(day) // current day today(century) // default case - returns the current date Object 对于 typescript 用户我们可以利用泛型来允许以后要调用该函数的用户指定他们希望对象字面量函数返回的类型。 type SwitchCaseT {cases: {[key: string]: () T},defaultCase: () T } const switchCase T,({cases, defaultCase}: SwitchCaseT) {return (expression: string) {return (cases[expression] || defaultCase)()} } 这就是我们如何使用它的方式。请注意我们不必总是指定类型因为 Typescript 会自动推断它除非它是多个类型的联合如下所示。 let date new Date()const today switchCasenumber | Date({cases: {year: () date.getFullYear(),month: () date.getMonth() 1,day: () date.getDate()},defaultCase: () date })today(year) // current year today(month) // current month today(day) // current day today(century) // default case - returns the current date Object 您需要的一切都在一个地方# Javascript 版本 实用程序函数 const switchCase ({cases, defaultCase}) (expression) (cases[expression] || defaultCase)() 用法 Tyepscript 版本 let date new Date()const today switchCase({cases: {year: () date.getFullYear(),month: () date.getMonth() 1,day: () date.getDate()},defaultCase: () date })today(year) // current year today(month) // current month today(day) // current day today(century) // default case - returns the current date Object Tyepscript version 实用功能 const switchCase T,({cases, defaultCase}: {cases: {[key: string]: () T}, defaultCase: () T}) (expression: string) (cases[expression] || defaultCase)() 用法 let date new Date()const today switchCasenumber | Date({cases: {year: () date.getFullYear(),month: () date.getMonth() 1,day: () date.getDate()},defaultCase: () date })today(year) // current year today(month) // current month today(day) // current day today(century) // default case - returns the current date Object 更多精彩 点击这里~~
http://www.hkea.cn/news/14384286/

相关文章:

  • 网站开发需要如何压缩代码一般网站建设
  • cadisen卡迪森手表网站免费搭建单页网站
  • 郑州怎么做网站排名万网二手已备案域名
  • 湖北微网站建设价格寿光市网站建设
  • 做网站需要什么花费谷城网站定制
  • 网站开发8080无法访问此页面关键词怎么选择技巧
  • 台前网站建设电话汽车行业网站建设维护服务
  • 淮北建设工程质量安全站网站浙江省专业网站制作网站建设
  • flash型网站网址2022年楼市最新政策
  • 南宁 建网站知道网站域名怎么联系
  • 哈尔滨建设工程招聘信息网站湖南搜索引擎推广平台
  • 网站开发如何跟客户沟通需求简历在线编辑免费
  • html5的网站设计二级域名分发网站
  • 深圳网站制作设计猎场第几集做的网站推广
  • 成都网站建设qghlwordpress注册免邮件
  • 做的网站在小窗口中怎么保持中间网站建设 开发网站代码
  • 上海网站建设与设计浙江中钦建设有限公司网站
  • c2c电子商务网站食品建设网站
  • 珠海网站设计京东联盟 wordpress
  • 怎么做自己的外卖网站wordpress小清新模板
  • 哪些网站可以做设计赚钱中盛腾龙建设工程有限公司网站
  • 北京品牌网站开发什么是网站集约化建设
  • 集团网站建设h5动态页面怎么做的
  • 网站建设总体目标英文响应式网站建设
  • 龙华做棋牌网站建设哪家公司便宜网站建立与推广
  • 巩义网站建设方案表全面的vi设计公司
  • 影响网站访问速度服务器怎样做网站呢
  • 建设游戏网站需要哪些设备wordpress 快速安装
  • 上海网站建设科技公司丹东发布最新通告
  • wordpress怎么排版网站建设需要做的优化工作