设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 重新 试卷 创业者
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

如何写出优雅耐看的JavaScript代码(4)

发布时间:2019-09-20 16:14 所属栏目:21 来源:浅夏晴空
导读:2、switch/case /** *按钮点击事件 *@param{number}status活动状态:1开团进行中2开团失败3商品售罄4开团成功5系统取消 */ constonButtonClick=(status)={ switch(status){ case1: sendLog('processing') jumpTo('I

2、switch/case

  1. /** 
  2.  * 按钮点击事件 
  3.  * @param {number} status 活动状态:1 开团进行中 2 开团失败 3 商品售罄 4 开团成功 5 系统取消 
  4.  */ 
  5. const onButtonClick = (status)=>{ 
  6.   switch (status){ 
  7.     case 1: 
  8.       sendLog('processing') 
  9.       jumpTo('IndexPage') 
  10.       break 
  11.     case 2: 
  12.     case 3: 
  13.       sendLog('fail') 
  14.       jumpTo('FailPage') 
  15.       break   
  16.     case 4: 
  17.       sendLog('success') 
  18.       jumpTo('SuccessPage') 
  19.       break 
  20.     case 5: 
  21.       sendLog('cancel') 
  22.       jumpTo('CancelPage') 
  23.       break 
  24.     default: 
  25.       sendLog('other') 
  26.       jumpTo('Index') 
  27.       break 
  28.   } 

这样看起来比if/else清晰多了,细心的同学也发现了小技巧,case 2和case 3逻辑一样的时候,可以省去执行语句和break,则case 2的情况自动执行case 3的逻辑。

3、存放到Object

将判断条件作为对象的属性名,将处理逻辑作为对象的属性值,在按钮点击的时候,通过对象属性查找的方式来进行逻辑判断,这种写法特别适合一元条件判断的情况。

  1. const actions = { 
  2.   '1': ['processing','IndexPage'], 
  3.   '2': ['fail','FailPage'], 
  4.   '3': ['fail','FailPage'], 
  5.   '4': ['success','SuccessPage'], 
  6.   '5': ['cancel','CancelPage'], 
  7.   'default': ['other','Index'], 
  8. /** 
  9.  * 按钮点击事件 
  10.  * @param {number} status 活动状态:1开团进行中 2开团失败 3 商品售罄 4 开团成功 5 系统取消 
  11.  */ 
  12. const onButtonClick = (status)=>{ 
  13.   let action = actions[status] || actions['default'], 
  14.       logName = action[0], 
  15.       pageName = action[1] 
  16.   sendLog(logName) 
  17.   jumpTo(pageName) 

4、存放到Map

  1. const actions = new Map([ 
  2.   [1, ['processing','IndexPage']], 
  3.   [2, ['fail','FailPage']], 
  4.   [3, ['fail','FailPage']], 
  5.   [4, ['success','SuccessPage']], 
  6.   [5, ['cancel','CancelPage']], 
  7.   ['default', ['other','Index']] 
  8. ]) 
  9. /** 
  10.  * 按钮点击事件 
  11.  * @param {number} status 活动状态:1 开团进行中 2 开团失败 3 商品售罄 4 开团成功 5 系统取消 
  12.  */ 
  13. const onButtonClick = (status)=>{ 
  14.   let action = actions.get(status) || actions.get('default') 
  15.   sendLog(action[0]) 
  16.   jumpTo(action[1]) 

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读