這篇文章主要講解了“javascript的語句結(jié)構(gòu)有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“javascript的語句結(jié)構(gòu)有哪些”吧!
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供鉛山網(wǎng)站建設(shè)、鉛山做網(wǎng)站、鉛山網(wǎng)站設(shè)計、鉛山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、鉛山企業(yè)網(wǎng)站模板建站服務(wù),10余年鉛山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
javascript有三種語句結(jié)構(gòu):1、順序結(jié)構(gòu);自上而下,逐行執(zhí)行。2、選擇分支結(jié)構(gòu);多條路徑,根據(jù)不同條件,只執(zhí)行其中的一條或選擇性的執(zhí)行多條。3、循環(huán)結(jié)構(gòu);重復(fù)執(zhí)行某些代碼。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
順序結(jié)構(gòu)
自上而下,逐行執(zhí)行,先來后到,相同語句,后面的覆蓋前面的
選擇分支結(jié)構(gòu)
多條路徑,根據(jù)不同條件,只執(zhí)行其中的一條或選擇性的執(zhí)行多條
循環(huán)結(jié)構(gòu)
重復(fù)執(zhí)行某些代碼,代替某些重復(fù)性操作,減少代碼冗余,提升效率
兩條路徑二選一,做或者不做,有或者沒有,執(zhí)行或不執(zhí)行;
//語法結(jié)構(gòu): if(){} if //語句名 () //是否執(zhí)行的條件,true 或 false {} //執(zhí)行的內(nèi)容 //例: if(true){ console.log("hello");//"hello"---if括號中是true則輸出hello,若為false則不輸出 }
有兩個選項(xiàng),兩者必定執(zhí)行一個
//當(dāng)條件判斷為true時,執(zhí)行花括號內(nèi)的語句,如果條件為假false,跳過花括號內(nèi)的語句執(zhí)行else里的內(nèi)容 if(條件){ 執(zhí)行語句1,條件為真時執(zhí)行 }else{ 執(zhí)行語句2,條件為假時執(zhí)行 }
通常if的括號中填寫一個判斷語句,判斷是真還是假if()括號里面的東西我們通常也叫它邏輯點(diǎn),判斷點(diǎn) 當(dāng)括號內(nèi)的內(nèi)容為true時真,為false時假,true或false是布爾值(boolean)代表真和假,需要通過邏輯運(yùn)算符得到
先來看一個例題
if(1){ //括號內(nèi)填寫數(shù)字"1"會發(fā)生什么 console.log("會輸出么?"); //會輸出嗎?---會在控制臺輸出內(nèi)容 }
數(shù)字1是數(shù)值型,不是布爾值,更不是true為什么會執(zhí)行花括號內(nèi)的語句了呢?
在一些特定的情況下,計算機(jī)會進(jìn)行一些隱式轉(zhuǎn)換,他和強(qiáng)制類型轉(zhuǎn)換不一樣,他不需要你做什么,會自動對數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換
在運(yùn)算中,if(小括號)中的語句會發(fā)生隱式類型轉(zhuǎn)換
//if隱式轉(zhuǎn)換例題 var a = "1",b = 2; console.log(a + b);//12---+號進(jìn)行字符串拼接,拼成12,而不是進(jìn)行數(shù)值運(yùn)算等于3
"+"號有兩種含義:
"+"號兩邊都是數(shù)字:此時是數(shù)學(xué)中的"+"號運(yùn)算符,將兩個數(shù)字相加,進(jìn)行數(shù)值運(yùn)算
"+"號兩邊出現(xiàn)一個或以上個字符:此時是字符串的拼接
并且優(yōu)先進(jìn)行字符串拼接,所以在檢測到+號左右兩邊只要存在字符串的時候,會自動將另一邊不是字符串的數(shù)據(jù),轉(zhuǎn)成字符串,再進(jìn)行字符串拼接操作(字符串拼接就是將"+"號兩邊的內(nèi)容完整的不做任何修改的前后接在一起)
注意:除了+號有兩層意義為外"-*/%"號只有數(shù)學(xué)意義,所以當(dāng)進(jìn)行"-*/%"的時候,默認(rèn)將運(yùn)算符兩邊的數(shù)據(jù)類型隱式轉(zhuǎn)換成數(shù)字類型再進(jìn)行運(yùn)算
那么如果想要進(jìn)行相加運(yùn)算,又不想被"+"號隱式轉(zhuǎn)換為字符怎么辦。
方法:
var a = "1",b = 2; console.log(a + b);//12---默認(rèn)進(jìn)行字符串拼接輸出字符串"12" console.log((a-0) + b );//3---先通-0操作將字符轉(zhuǎn)換為數(shù)字,再進(jìn)行相加,輸出數(shù)值3
if()中只需要布爾值,那么在if判斷中,會把括號內(nèi)所有的數(shù)據(jù)類型,都隱式轉(zhuǎn)換成布爾型,任何類型最終都被轉(zhuǎn)成布爾類型
數(shù)字:非0為true,0為false
字符:非空為true,空為false
對象:在任何時候都為true
數(shù)組:在任何時候都為true,數(shù)組也是對象的一種
函數(shù):在任何時候都為true,函數(shù)也是特殊的對象
NaN:為false
undefined:為false
null:為false
isNaN():
判斷是否為NaN可以間接判斷是否為數(shù)字,返回為true時為NaN不是數(shù)字,返回為false時是數(shù)字
至少有兩個或以上,根據(jù)條件執(zhí)行其中一條或多條語句
if(true){ console.log("hello"); }else{ if(true){ console.log("hello"); }else{ console.log("world"); } } 或者 if(true){ console.log("hello1"); }else if(true){ console.log("hello2"); }else if(true){ console.log("hello3"); }else if(true){ console.log("hello4"); }
系統(tǒng)提供的語句
switch(){}
switch語句名
()要判斷的值
{}執(zhí)行語句,所有的分支路徑都放在一個花括號內(nèi)
case匹配()內(nèi)的值則執(zhí)行,不匹配則往下找,找到執(zhí)行,都沒找到輸出default的內(nèi)容
案例:輸入數(shù)字,判斷后輸出星期幾
switch(n){ case 1:console.log("星期一");break; case 2:console.log("星期二");break; case 3:console.log("星期三");break; case 4:console.log("星期四");break; case 5:console.log("星期五");break; case 6:console.log("星期六");break; case 7:console.log("星期七");break; default:console.log("請輸入1-7之間的數(shù)字"); }
case的穿透特性:
在一個switch中,只會進(jìn)行一次case判斷,如果判斷成功,后面的case則不會判斷全部執(zhí)行
阻止case穿透
使用關(guān)鍵字break;可以跳出當(dāng)前循環(huán),后面的都不執(zhí)行
switch和if-else的區(qū)別
switch只能判斷具體的值,不能判斷范圍,不會進(jìn)行隱式轉(zhuǎn)換
if else可以判斷范圍
while(){} while //語句名 () //執(zhí)行條件、判斷調(diào)價 {} //執(zhí)行語句循環(huán)體 //例: var i = 0; while(i<10){//當(dāng)括號內(nèi)的條件為真時,會一直執(zhí)行 console.log(i);//輸出0-9,十個數(shù)字 i++;//改變計數(shù)器 } //表示重復(fù)執(zhí)行10次 //注意:為避免死循環(huán),一定要在循環(huán)體內(nèi) 改變 條件中使用變量的值-改變計數(shù)器。 //通常while被用在不確定執(zhí)行次數(shù)的循環(huán)中,循環(huán)體內(nèi)設(shè)置if判斷,滿足條件使用break結(jié)束循環(huán),否則一直循環(huán)
do{}while(){} do 語句名 {} do的執(zhí)行語句 while 語句名2 () 執(zhí)行條件 {} while的執(zhí)行語句 do{ console.log("do的執(zhí)行語句"); i++;//改變計數(shù)器 }while(i<10){ console.log("while的執(zhí)行語句"); } //條件為true時,會執(zhí)行do后面的語句 //條件為false時,會執(zhí)行一次while后面的語句 //注意:do-while的改變計數(shù)器要鞋子啊do語句中,否則會造成死循環(huán) do-while和while的區(qū)別 do-while任何情況下都比while多執(zhí)行一次(do-while無論真假都會執(zhí)行一次while里的語句) do-while相對于while結(jié)構(gòu)緊密些
for(){} for 語句名 () 條件組 {} 循環(huán)體 for(var i = 0; i < 10; i++){ console.log(i);//打印0-9。共十個數(shù)字 } for循環(huán)括號內(nèi)的內(nèi)容 var i=0; //定義循環(huán)開始時計數(shù)器的初始值 i<10; //設(shè)置停止循環(huán)的條件,滿足條件執(zhí)行循環(huán),不滿足條件結(jié)束循環(huán) i++ //計數(shù)器加一(這條語句是在循環(huán)體內(nèi)容結(jié)束后才執(zhí)行) //注意:上面的三個內(nèi)容必須用分號“;”隔開,否則報錯 for循環(huán)是最長使用的循環(huán),還可進(jìn)行for循環(huán)嵌套 for(var i=0;i<10;i++){ for(var j=0;j<10;j++){ console.log(i+j); } }
無法靠自身控制結(jié)束的循環(huán),稱為死循環(huán) 不知道要循環(huán)幾次的問題,利用死循環(huán)的原理,每次判斷一個條件,直到滿足條件,利用break跳出循環(huán) 通常使用while來進(jìn)行死循環(huán)
continue和break都是用來控制循環(huán)結(jié)構(gòu)的,主要是用來停止循環(huán)。 控制關(guān)鍵字:控制循環(huán)的執(zhí)行或停止 break:結(jié)束循環(huán)語句,直接跳出當(dāng)前循環(huán)語句,后面所有的下一次循環(huán)都不執(zhí)行。 continue:表示跳過當(dāng)前所在的本次循環(huán)(continue下面的語句不執(zhí)行跳過),下一次循環(huán)還會正常執(zhí)行
感謝各位的閱讀,以上就是“javascript的語句結(jié)構(gòu)有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對javascript的語句結(jié)構(gòu)有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
新聞名稱:javascript的語句結(jié)構(gòu)有哪些
文章地址:http://jinyejixie.com/article4/pshpie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站改版、品牌網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)、定制開發(fā)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)