摘要:引看到過一篇文章說的使用,永遠(yuǎn)應(yīng)該放在你的控制范圍之內(nèi),而不應(yīng)該防范未知的錯(cuò)誤。語句測試代碼塊的錯(cuò)誤。語句在和之后無論有無異常都會(huì)執(zhí)行。若是我們要使的判斷執(zhí)行下去,則需要寫成而則不需要考慮這些。
try catch throw finally
引:看到過一篇文章說“try catch的使用,永遠(yuǎn)應(yīng)該放在你的控制范圍之內(nèi),而不應(yīng)該防范未知的錯(cuò)誤。如果讓用戶先發(fā)現(xiàn)你根本沒預(yù)料到的錯(cuò)誤,而不是你先發(fā)現(xiàn)錯(cuò)誤,你是失職的。”
try 語句測試代碼塊的錯(cuò)誤。
catch 語句處理錯(cuò)誤。
throw 語句創(chuàng)建自定義錯(cuò)誤。
finally 語句在 try 和 catch 之后無論有無異常都會(huì)執(zhí)行。
首先看一個(gè)無異常情況
再來一個(gè)自定義拋出異常
不難發(fā)現(xiàn)如果異常拋出之后,拋出那段之后的代碼是不會(huì)執(zhí)行了
程序報(bào)錯(cuò)拋出異常
為什么我們不用if呢?
還是上圖吧,有圖有真相
obj.aa.bb.cc 本身已經(jīng)是undefined 再往下找自然是沒有dd的,此時(shí)如果是if就會(huì)報(bào)錯(cuò)并中斷程序。而try catch不會(huì)。 若是我們要使if的判斷執(zhí)行下去,則需要寫成if(obj && obj.aa && obj.aa.bb & &obj.aa.bb.dd),而try cacth則不需要考慮這些。&& 和 ||
這倆的含義不用解釋了吧,且和或,主要是講用&& 和 || 來節(jié)省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)
我們會(huì)經(jīng)常發(fā)現(xiàn)一個(gè)賦值 a = b ||"" b 若為真,a=b ,否則 a = ""
switch 完勝
對(duì)swtch的簡寫
var b = []; switch(area){ case 2: b = ["重慶市", "福建省", "山東省", "內(nèi)蒙古省", "上海市省"] break; case 3: b = ["北京市", "西北省", "甘肅省", "云南省", "寧夏省", "西藏省", "青海省",] break; case 4: b = ["四川省", "遼寧省", "黑龍江省", "吉林省", "河北省", "山西省"] break; 省略...... }
明明都是給b賦值,為什么不能簡單點(diǎn)呢?
答案當(dāng)然是可以了!我是江小白,世界很簡單!!
用對(duì)象的方式組裝一下: let object = { 1: ["重慶市", "福建省", "山東省", "內(nèi)蒙古省", "上海市省"], 2: ["北京市", "西北省", "甘肅省", "云南省", "寧夏省", "西藏省", "青海省",], 3: ["四川省", "遼寧省", "黑龍江省", "吉林省", "河北省", "山西省"], 4: ["河南省", "江蘇省", "安徽省", "廣西省"], 5: ["新疆省", "江西省", "浙江省"], 6: ["陜西省", "遼寧省", "湖南省"], 7: ["廣東省", "貴州省", "湖北省", "河南省", "海南省", "天津市"] } b = object[area] 如果你是規(guī)律的1234567,那么你還可以用數(shù)組哦 let arr = [ ["重慶市", "福建省", "山東省", "內(nèi)蒙古省", "上海市省"], ["北京市", "西北省", "甘肅省", "云南省", "寧夏省", "西藏省", "青海省",], ["四川省", "遼寧省", "黑龍江省", "吉林省", "河北省", "山西省"], ["河南省", "江蘇省", "安徽省", "廣西省"], ["新疆省", "江西省", "浙江省"], ["陜西省", "遼寧省", "湖南省"], ["廣東省", "貴州省", "湖北省", "河南省", "海南省", "天津市"] ] b = arr[area]
是不是感覺少寫了好多代碼呢,你值得擁有哦~~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/53491.html
摘要:引看到過一篇文章說的使用,永遠(yuǎn)應(yīng)該放在你的控制范圍之內(nèi),而不應(yīng)該防范未知的錯(cuò)誤。語句測試代碼塊的錯(cuò)誤。語句在和之后無論有無異常都會(huì)執(zhí)行。若是我們要使的判斷執(zhí)行下去,則需要寫成而則不需要考慮這些。 try catch throw finally 引:看到過一篇文章說try catch的使用,永遠(yuǎn)應(yīng)該放在你的控制范圍之內(nèi),而不應(yīng)該防范未知的錯(cuò)誤。如果讓用戶先發(fā)現(xiàn)你根本沒預(yù)料到的錯(cuò)誤,而不是...
摘要:這幾天,遇到一些事,對(duì)于我們程序員的核心競爭力有了一些小想法各種各樣的技術(shù)加持更長久的工作經(jīng)驗(yàn)還是各種度娘解決不了的技術(shù)不知道,上述這些,也都很重要,不過我自己卻想到,技術(shù)的迭代在時(shí)代太快了,一個(gè)人很難僅憑一種技術(shù),很難一直保持下去。 這幾天,遇到一些事,對(duì)于我們程序員的核心競爭力有了一些小想法!各種各樣的技術(shù)加持?更長久的工作經(jīng)驗(yàn)?還是各種度娘解決不了的技術(shù)?不知道,上述這些,也都很...
摘要:生產(chǎn)環(huán)境可以借助集合來實(shí)現(xiàn)灰度發(fā)布代碼請(qǐng)參考微服務(wù)權(quán)限框架的灰度發(fā)布功能,已經(jīng)全部開源關(guān)于基于開發(fā)基于前后分離的開發(fā)平臺(tái),支持賬號(hào)短信等多種登錄,提供配套視頻開發(fā)教程。 showImg(https://segmentfault.com/img/remote/1460000016809362); 分析下目前遇到的痛點(diǎn) 你在開發(fā)工作的是否遇到這個(gè)問題,微服務(wù)模塊劃分過細(xì),基礎(chǔ)模塊依賴的比較...
摘要:生產(chǎn)環(huán)境可以借助集合來實(shí)現(xiàn)灰度發(fā)布代碼請(qǐng)參考微服務(wù)權(quán)限框架的灰度發(fā)布功能,已經(jīng)全部開源關(guān)于基于開發(fā)基于前后分離的開發(fā)平臺(tái),支持賬號(hào)短信等多種登錄,提供配套視頻開發(fā)教程。 showImg(https://segmentfault.com/img/remote/1460000016809362); 分析下目前遇到的痛點(diǎn) 你在開發(fā)工作的是否遇到這個(gè)問題,微服務(wù)模塊劃分過細(xì),基礎(chǔ)模塊依賴的比較...
閱讀 2265·2023-04-26 02:14
閱讀 2935·2021-09-30 09:46
閱讀 2108·2021-09-24 09:48
閱讀 967·2021-09-24 09:47
閱讀 3258·2019-08-30 15:44
閱讀 1885·2019-08-30 15:44
閱讀 3289·2019-08-30 14:18
閱讀 1958·2019-08-30 12:58