资讯专栏INFORMATION COLUMN

一些小小的总结

jasperyang / 1516人阅读

摘要:引看到过一篇文章说的使用,永远应该放在你的控制范围之内,而不应该防范未知的错误。语句测试代码块的错误。语句在和之后无论有无异常都会执行。若是我们要使的判断执行下去,则需要写成而则不需要考虑这些。

try catch throw finally

引:看到过一篇文章说“try catch的使用,永远应该放在你的控制范围之内,而不应该防范未知的错误。如果让用户先发现你根本没预料到的错误,而不是你先发现错误,你是失职的。”

try 语句测试代码块的错误。
catch 语句处理错误。
throw 语句创建自定义错误。
finally 语句在 try 和 catch 之后无论有无异常都会执行。

首先看一个无异常情况

再来一个自定义抛出异常

不难发现如果异常抛出之后,抛出那段之后的代码是不会执行了

程序报错抛出异常

为什么我们不用if呢?
还是上图吧,有图有真相

obj.aa.bb.cc 本身已经是undefined 再往下找自然是没有dd的,此时如果是if就会报错并中断程序。而try catch不会。
若是我们要使if的判断执行下去,则需要写成if(obj && obj.aa && obj.aa.bb & &obj.aa.bb.dd),而try cacth则不需要考虑这些。


&& 和 ||

这俩的含义不用解释了吧,且和或,主要是讲用&& 和 || 来节省if else 的写法

if(a === 1){
    conosle.log("a=1")
}

可以写为 a===1 && conosle.log("a=1")

或:

if(a===1 || a === 2){
    console.log("a="+a)
}

可以写为 (a===1 || a===2) && console.log("a="+a)

赋值也是可以的 a===1 && (b=1)(a===1 ||a===2) && (b=1)
我们会经常发现一个赋值 a = b ||"" b 若为真,a=b ,否则 a = ""

if else pk switch


switch 完胜

对swtch的简写

var b = [];
switch(area){
    case 2:
    b = ["重庆市", "福建省", "山东省", "内蒙古省", "上海市省"]
    break;
    case 3:
    b = ["北京市", "西北省", "甘肃省", "云南省", "宁夏省", "西藏省", "青海省",]
    break;
    case 4:
    b = ["四川省", "辽宁省", "黑龙江省", "吉林省", "河北省", "山西省"]
    break;
    省略......
}

明明都是给b赋值,为什么不能简单点呢?
答案当然是可以了!我是江小白,世界很简单!!

用对象的方式组装一下:
let object = {
  1: ["重庆市", "福建省", "山东省", "内蒙古省", "上海市省"],
  2: ["北京市", "西北省", "甘肃省", "云南省", "宁夏省", "西藏省", "青海省",],
  3: ["四川省", "辽宁省", "黑龙江省", "吉林省", "河北省", "山西省"],
  4: ["河南省", "江苏省", "安徽省", "广西省"],
  5: ["新疆省", "江西省", "浙江省"],
  6: ["陕西省", "辽宁省", "湖南省"],
  7: ["广东省", "贵州省", "湖北省", "河南省", "海南省", "天津市"]
}
b = object[area]

如果你是规律的1234567,那么你还可以用数组哦
let arr = [
["重庆市", "福建省", "山东省", "内蒙古省", "上海市省"],
["北京市", "西北省", "甘肃省", "云南省", "宁夏省", "西藏省", "青海省",],
["四川省", "辽宁省", "黑龙江省", "吉林省", "河北省", "山西省"],
["河南省", "江苏省", "安徽省", "广西省"],
["新疆省", "江西省", "浙江省"],
["陕西省", "辽宁省", "湖南省"],
["广东省", "贵州省", "湖北省", "河南省", "海南省", "天津市"]
]
 b = arr[area]

是不是感觉少写了好多代码呢,你值得拥有哦~~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100427.html

相关文章

  • 一些小小总结

    摘要:引看到过一篇文章说的使用,永远应该放在你的控制范围之内,而不应该防范未知的错误。语句测试代码块的错误。语句在和之后无论有无异常都会执行。若是我们要使的判断执行下去,则需要写成而则不需要考虑这些。 try catch throw finally 引:看到过一篇文章说try catch的使用,永远应该放在你的控制范围之内,而不应该防范未知的错误。如果让用户先发现你根本没预料到的错误,而不是...

    chunquedong 评论0 收藏0
  • 十流程序员 编程 小小想法

    摘要:这几天,遇到一些事,对于我们程序员的核心竞争力有了一些小想法各种各样的技术加持更长久的工作经验还是各种度娘解决不了的技术不知道,上述这些,也都很重要,不过我自己却想到,技术的迭代在时代太快了,一个人很难仅凭一种技术,很难一直保持下去。 这几天,遇到一些事,对于我们程序员的核心竞争力有了一些小想法!各种各样的技术加持?更长久的工作经验?还是各种度娘解决不了的技术?不知道,上述这些,也都很...

    荆兆峰 评论0 收藏0
  • 扩展Zuul实现敏捷开发小小技巧

    摘要:生产环境可以借助集合来实现灰度发布代码请参考微服务权限框架的灰度发布功能,已经全部开源关于基于开发基于前后分离的开发平台,支持账号短信等多种登录,提供配套视频开发教程。 showImg(https://segmentfault.com/img/remote/1460000016809362); 分析下目前遇到的痛点 你在开发工作的是否遇到这个问题,微服务模块划分过细,基础模块依赖的比较...

    baihe 评论0 收藏0
  • 扩展Zuul实现敏捷开发小小技巧

    摘要:生产环境可以借助集合来实现灰度发布代码请参考微服务权限框架的灰度发布功能,已经全部开源关于基于开发基于前后分离的开发平台,支持账号短信等多种登录,提供配套视频开发教程。 showImg(https://segmentfault.com/img/remote/1460000016809362); 分析下目前遇到的痛点 你在开发工作的是否遇到这个问题,微服务模块划分过细,基础模块依赖的比较...

    shadowbook 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<