您好,登錄后才能下訂單哦!
這篇文章主要講解了“javascript的語句結構有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“javascript的語句結構有哪些”吧!
javascript有三種語句結構:1、順序結構;自上而下,逐行執行。2、選擇分支結構;多條路徑,根據不同條件,只執行其中的一條或選擇性的執行多條。3、循環結構;重復執行某些代碼。
本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
順序結構
自上而下,逐行執行,先來后到,相同語句,后面的覆蓋前面的
選擇分支結構
多條路徑,根據不同條件,只執行其中的一條或選擇性的執行多條
循環結構
重復執行某些代碼,代替某些重復性操作,減少代碼冗余,提升效率
兩條路徑二選一,做或者不做,有或者沒有,執行或不執行;
//語法結構: if(){} if //語句名 () //是否執行的條件,true 或 false {} //執行的內容 //例: if(true){ console.log("hello");//"hello"---if括號中是true則輸出hello,若為false則不輸出 }
有兩個選項,兩者必定執行一個
//當條件判斷為true時,執行花括號內的語句,如果條件為假false,跳過花括號內的語句執行else里的內容 if(條件){ 執行語句1,條件為真時執行 }else{ 執行語句2,條件為假時執行 }
通常if的括號中填寫一個判斷語句,判斷是真還是假if()括號里面的東西我們通常也叫它邏輯點,判斷點 當括號內的內容為true時真,為false時假,true或false是布爾值(boolean)代表真和假,需要通過邏輯運算符得到
先來看一個例題
if(1){ //括號內填寫數字"1"會發生什么 console.log("會輸出么?"); //會輸出嗎?---會在控制臺輸出內容 }
數字1是數值型,不是布爾值,更不是true為什么會執行花括號內的語句了呢?
在一些特定的情況下,計算機會進行一些隱式轉換,他和強制類型轉換不一樣,他不需要你做什么,會自動對數據類型進行轉換
在運算中,if(小括號)中的語句會發生隱式類型轉換
//if隱式轉換例題 var a = "1",b = 2; console.log(a + b);//12---+號進行字符串拼接,拼成12,而不是進行數值運算等于3
"+"號有兩種含義:
"+"號兩邊都是數字:此時是數學中的"+"號運算符,將兩個數字相加,進行數值運算
"+"號兩邊出現一個或以上個字符:此時是字符串的拼接
并且優先進行字符串拼接,所以在檢測到+號左右兩邊只要存在字符串的時候,會自動將另一邊不是字符串的數據,轉成字符串,再進行字符串拼接操作(字符串拼接就是將"+"號兩邊的內容完整的不做任何修改的前后接在一起)
注意:除了+號有兩層意義為外"-*/%"號只有數學意義,所以當進行"-*/%"的時候,默認將運算符兩邊的數據類型隱式轉換成數字類型再進行運算
那么如果想要進行相加運算,又不想被"+"號隱式轉換為字符怎么辦。
方法:
var a = "1",b = 2; console.log(a + b);//12---默認進行字符串拼接輸出字符串"12" console.log((a-0) + b );//3---先通-0操作將字符轉換為數字,再進行相加,輸出數值3
if()中只需要布爾值,那么在if判斷中,會把括號內所有的數據類型,都隱式轉換成布爾型,任何類型最終都被轉成布爾類型
數字:非0為true,0為false
字符:非空為true,空為false
對象:在任何時候都為true
數組:在任何時候都為true,數組也是對象的一種
函數:在任何時候都為true,函數也是特殊的對象
NaN:為false
undefined:為false
null:為false
isNaN():
判斷是否為NaN可以間接判斷是否為數字,返回為true時為NaN不是數字,返回為false時是數字
至少有兩個或以上,根據條件執行其中一條或多條語句
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"); }
系統提供的語句
switch(){}
switch語句名
()要判斷的值
{}執行語句,所有的分支路徑都放在一個花括號內
case匹配()內的值則執行,不匹配則往下找,找到執行,都沒找到輸出default的內容
案例:輸入數字,判斷后輸出星期幾
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之間的數字"); }
case的穿透特性:
在一個switch中,只會進行一次case判斷,如果判斷成功,后面的case則不會判斷全部執行
阻止case穿透
使用關鍵字break;可以跳出當前循環,后面的都不執行
switch和if-else的區別
switch只能判斷具體的值,不能判斷范圍,不會進行隱式轉換
if else可以判斷范圍
while(){} while //語句名 () //執行條件、判斷調價 {} //執行語句循環體 //例: var i = 0; while(i<10){//當括號內的條件為真時,會一直執行 console.log(i);//輸出0-9,十個數字 i++;//改變計數器 } //表示重復執行10次 //注意:為避免死循環,一定要在循環體內 改變 條件中使用變量的值-改變計數器。 //通常while被用在不確定執行次數的循環中,循環體內設置if判斷,滿足條件使用break結束循環,否則一直循環
do{}while(){} do 語句名 {} do的執行語句 while 語句名2 () 執行條件 {} while的執行語句 do{ console.log("do的執行語句"); i++;//改變計數器 }while(i<10){ console.log("while的執行語句"); } //條件為true時,會執行do后面的語句 //條件為false時,會執行一次while后面的語句 //注意:do-while的改變計數器要鞋子啊do語句中,否則會造成死循環 do-while和while的區別 do-while任何情況下都比while多執行一次(do-while無論真假都會執行一次while里的語句) do-while相對于while結構緊密些
for(){} for 語句名 () 條件組 {} 循環體 for(var i = 0; i < 10; i++){ console.log(i);//打印0-9。共十個數字 } for循環括號內的內容 var i=0; //定義循環開始時計數器的初始值 i<10; //設置停止循環的條件,滿足條件執行循環,不滿足條件結束循環 i++ //計數器加一(這條語句是在循環體內容結束后才執行) //注意:上面的三個內容必須用分號“;”隔開,否則報錯 for循環是最長使用的循環,還可進行for循環嵌套 for(var i=0;i<10;i++){ for(var j=0;j<10;j++){ console.log(i+j); } }
無法靠自身控制結束的循環,稱為死循環 不知道要循環幾次的問題,利用死循環的原理,每次判斷一個條件,直到滿足條件,利用break跳出循環 通常使用while來進行死循環
continue和break都是用來控制循環結構的,主要是用來停止循環。 控制關鍵字:控制循環的執行或停止 break:結束循環語句,直接跳出當前循環語句,后面所有的下一次循環都不執行。 continue:表示跳過當前所在的本次循環(continue下面的語句不執行跳過),下一次循環還會正常執行
感謝各位的閱讀,以上就是“javascript的語句結構有哪些”的內容了,經過本文的學習后,相信大家對javascript的語句結構有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。