js 条件判断,js的多条件判断

  js 条件判断,js的多条件判断

  本文为您带来了一些关于javascript的知识,包括JavaScript条件判断技巧的详细解释。有需要的朋友可以借鉴一下。下面就来看看吧,希望对你有帮助。

  【相关推荐:javascript视频教程,web前端】

  本文用很短的时间介绍如何用JavaScript编写更简单的条件判断,帮助你写出更简洁的代码,更可读的代码。

  假设我们有一个将颜色值转换成十六进制代码的函数。

  函数convertToHex(color) {

  if (typeof color===string) {

  if (color===slate) {

  返回 #64748b

  } else if (color===gray) {

  返回 #6b7280

  } else if (color===red) {

  返回 #ef4444

  } else if (color===orange) {

  返回 #f97316

  } else if (color===yellow) {

  返回 #eab308

  } else if (color===green) {

  return #22c55e

  }否则{

  返回 #ffffff

  }

  }否则{

  返回 #ffffff

  }

  }函数很简单,就是传入一个颜色字符串,然后返回对应的十六进制。如果传入的不是字符串,或者没有传递任何内容,则返回白色十六进制。

  接下来,我们将开始优化这段代码。

  

避免直接使用字符串作为条件

  直接用字符串做条件有个问题,就是当我们拼错的时候会很尴尬。

  ConvertToHex(salte )为了避免这种错误,我们可以使用常量。

  常量颜色={

  石板:“石板”,

  灰色:“灰色”,

  //.

  }

  函数convertToHex(color) {

  if (typeof color===string) {

  if (color===Colors。石板){

  返回 #64748b

  } else if (color===Color。灰色){

  返回 #6b7280

  }

  //.

  }否则{

  返回 #ffffff

  }

  }

  ConvertToHex(颜色。SLATE)如果使用的是typescript,可以直接使用枚举。

  

使用 Object

  其实从上面的代码中不难发现,我们可以直接将十六进制值存储到对象的值中。

  常量颜色={

  候选人名单:“#64748b”,

  格雷: #6b7280 ,

  //.

  }

  函数convertToHex(color) {

  如果(彩色中的彩色){

  返回颜色[颜色]

  }否则{

  返回 #ffffff

  }

  }

  ConvertToHex(颜色。SLATE)会让代码更加简洁易读。

  

不符合预期,提前 return

  另一个最佳做法是,我们可以把意外情况写到函数前面,提前返回,避免忘记返回。

  常量颜色={

  候选人名单:“#64748b”,

  格雷: #6b7280 ,

  //.

  }

  函数convertToHex(color) {

  如果(!彩色中的彩色){

  返回 #ffffff

  }

  返回颜色[颜色]

  }

  ConvertToHex(颜色。石板)以便甚至不需要其他东西。有了这项技能,我们可以消除代码中的许多其他内容。

  

使用 Map 配合 Object

  使用map更专业,因为map可以存储任何类型的键,而且继承自Map.prototype,有更方便的方法和属性。

  对象更方便访问属性,可以继续用对象实现枚举。

  const ColorsEnum={

  石板:“石板”,

  灰色:“灰色”,

  //.

  }

  const Colors=新地图()

  Colors.set(ColorsEnum。石板, #64748b )

  Colors.set(ColorsEnum。灰色,“6b7280”)

  //.

  Colors.set(DEFAULT , #ffffff )

  函数convertToHex(color) {

  如果(!Colors.has(color)) {

  return Colors.get(DEFAULT )

  }

  返回Colors.get(color)

  }

  ConvertHex(colors . slate)

Map 也可以存储函数

  假设我们存储了很多颜色,多达上千种,还支持后端配置,这样就可以通过某种运算过程得到结果。

  然后我们可以用Map来存储函数。

  return colors . get(color)()

尽量避免三目表达式和 switch

  三联表达式虽然简洁,但可读性却大打折扣。如果是多级条件,阅读起来会很困难。

  与switch if相比,没有明显优势,但有时容易返回,导致代码无法按预期执行。

  【相关推荐:javascript视频教程,web前端】以上是总结使用JavaScript条件判断技巧的详细内容。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: