当前位置: 首页 > Web前端 > HTML

一些小总结

时间:2023-04-03 00:13:48 HTML

trycatchthrowfinally引用:看到一篇文章说“trycatch的使用应该始终在你的控制范围之内,不应该防止未知的错误。如果你让用户第一,你就失职了发现您根本没有预料到的错误,而不是您首先发现它们。”try语句测试一段代码是否有错误。catch语句处理错误。throw语句来创建自定义错误。try和catch之后不管有没有异常都会执行finally语句。先看无异常情况再看自定义抛异常。不难发现,如果抛出异常,则不会执行抛出后的代码。程序报错并抛出异常。我们为什么不使用if?还是上图,有图有真相。obj.aa.bb.cc本身已经是未定义的。往下看,就没有dd了。如果此时是if,就会报错,程序中断。而trycatch不会。如果我们要执行if的判断,需要写if(obj&&obj.aa&&obj.aa.bb&&obj.aa.bb.dd),trycacth不需要考虑这些。&&和||的含义不用解释,and和or,主要是用&&和||为了保存ifelseif(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=''ifelsepkswitchswitchwinsoverswtchShorthandvarb=[];switch(area){case2:b=['重庆市','福建省','山东省','内蒙古省','上海省']break;case3:b=['北京','西北省','甘肃省','云南省','宁夏省','西藏省','青海省',]break;case4:b=['四川省','辽宁省','黑龙江省','吉林省','河北省','山西省']break;省略...}明明都是赋值给b的,为什么不能简单点呢?答案当然是肯定的!我是江小白,世界很简单!!以对象的形式组装起来:letobject={1:['重庆市','福建省','山东省','内蒙古省','上海省'],2:['北京','西北省','甘肃省','云南省','宁夏省','西藏省','青海省',],3:['四川省','辽宁省','黑龙江省','吉林省','河北省','山西省'],4:['河南省','江苏省','安徽省','广西省'],5:['新疆省','江西省''','浙江省'],6:['陕西省','辽宁省','湖南省'],7:['广东省','贵州省','湖北省','河南省','海南省','天津市']}b=object[area]如果你是正则1234567,那么你也可以用数组letarr=[['重庆市','福建省','山东省','内蒙古省','上海省'],['北京','西北省','甘肃省','云南省','宁夏省','西藏省','青海省',],['四川省','辽宁省','黑龙江省','吉林省','河北省','山西省'],['河南省','江苏省','安徽省','广西省'],['新疆省','江西省','浙江省'],['陕西省','辽宁省','湖南省'],['广东省'Province','贵州省','湖北省','河南省','海南省','天津市']]b=arr[area]是不是感觉写的代码少了很多,活该哦~~