Javascript基礎與面(mian)向對(dui)象基礎~Javascript中的語(yu)句如何(he)被執(zhi)行,如何(he)改變執(zhi)行順序
本講主(zhu)要(yao)是JS語言中的(de)(de)代碼(ma)如何被解釋執行的(de)(de),這個問(wen)題其實(shi)和其它語言是一樣的(de)(de),程序執行順序為(wei)“從上到下(xia)”,當然如果代碼(ma)中有(you)分(fen)(fen)支,它的(de)(de)執行順序可能有(you)所改變,而這種支在程序設計中叫做“分(fen)(fen)支結(jie)構(條件結(jie)構)”,再或者某個操作(zuo)需(xu)要(yao)反復執行10次,這在程序設計中叫做“循(xun)環結(jie)構”。
正常的程序結構
//普通的結構 var info = "hello world" console.log(info);
帶有分支的程序結構
//IF條件結構(gou) var number = 1; if (number % 2 == 0) console.log("偶數"); else console.log("奇數"); //switch條件結構 var type = 1; switch (type) { case 1: console.log("支付寶"); break; case 2: console.log("財富通"); break; case 3: console.log("銀聯"); break; default: console.log("輸入類型錯誤"); break; }
帶有循環的程序結構
//for循環結構(gou) var body = document.getElementById("bodys"); for (var i = 0; i < 10; i++) { body.appendChild(document.createTextNode(i)); } //while循環實現相同(tong)的效果 var i = 0; while (i < 10) { body.appendChild(document.createTextNode(i)); i++; } //do...while循環,注意一點,do循環它至少(shao)會(hui)執行一次 do { body.appendChild(document.createTextNode(i)); i++; } while (i < 10)
代碼執行過(guo)程(cheng)中(zhong)的(de)中(zhong)斷與應對
對于JS代(dai)(dai)碼,正常情況下(xia)它自上而下(xia)去解釋執(zhi)(zhi)行,當發表(biao)代(dai)(dai)碼出現錯(cuo)誤(異(yi)常時)它的中斷解釋,即出現行下(xia)面的代(dai)(dai)碼將不會被(bei)執(zhi)(zhi)行!而如(ru)果(guo)我們
希望以(yi)下的代(dai)(dai)(dai)碼(ma)繼續(xu)執行,只(zhi)有為“可能出錯的代(dai)(dai)(dai)碼(ma)”加try...cache塊,代(dai)(dai)(dai)碼(ma)如下:
var a=0; var b=10/a; //這行代碼出現異常,JS代碼中斷 console.log(b) //事實上,這行代碼(ma)不(bu)會被執行的 //解決方法: var a=0; var b=0; try{ b=10/a; //這行代碼出現異常,JS代碼中斷 } catch(e){ console.log("出現異常,信息為:"+e); } console.log(b) ;
恩,現在你(ni)對代碼(ma)的執行順序有一個了解了吧(ba),事實上,所以開發(fa)語言(yan)中,無非是這三種(zhong)結構,恩!
感謝閱讀!