流程控制語句有:1、if語句;2、“if...else”語句;3、“if..else if..”巢狀語句;4、“Switch..case”語句;5、for語句;6、while語句;7、「do...while」語句;8、「for..in」等。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
if語句是基於條件成立才執行對應程式碼時使用的語句。
語法:
if(条件) { 条件成立时执行代码 }
#注意:if小寫,大寫字母(IF)會出錯!
假設你應徵web前端技術開發職位,如果你會HTML技術,你面試成功,歡迎加入公司。程式碼表示如下:
<script type="text/javascript"> var mycarrer = "HTML"; if (mycarrer == "HTML") { document.write("你面试成功,欢迎加入公司。"); } </script>
if...else語句是在指定的條件成立時執行程式碼,在條件不成立時執行else後的程式碼。
語法:
if(条件) { 条件成立时执行的代码} else {条件不成立时执行的代码}
假設你應徵web前端技術開發職位,如果你會HTML技術,你面試成功,歡迎加入公司,否則你面試不成功,不能加入公司。
程式碼表示如下:
<script type="text/javascript"> var mycarrer = "HTML"; //mycarrer变量存储技能 if (mycarrer == "HTML") { document.write("你面试成功,欢迎加入公司。"); } else //否则,技能不是HTML { document.write("你面试不成功,不能加入公司。");} </script>
要在多組語句中選擇一組來執行,使用if..else if..嵌套語句。
語法:
if(条件1) { 条件1成立时执行的代码} else if(条件2) { 条件2成立时执行的代码} ... else if(条件n) { 条件n成立时执行的代码} else { 条件1、2至n不成立时执行的代码}
當有很多種選項的時候,switch比if else使用更方便。
語法:
switch(表达式){case值1: 执行代码块 1 break;case值2: 执行代码块 2 break;...case值n: 执行代码块 n break;default: 与 case值1 、 case值2...case值n 不同时执行的代码 }
語法說明:
Switch必須賦初始值,值與每個case值匹配。
滿足執行該 case 後的所有語句,並用break語句來阻止執行下一個case。
如所有case值都不匹配,執行default後的語句。
假設評價學生的考試成績,10分滿分制,我們依照每一分一個等級將成績分等,並根據成績的等級做出不同的評價。
注意:記得在case所執行的語句後面加上上一個break語句。否則就直接繼續執行下面的case中的語句,看以下程式碼:
很多事情不只是做一次,要重複做。如列印10份試卷,每次列印一份,重複此動作,直到列印完成。這些事情,我們使用循環語句來完成,循環語句,就是重複執行一段程式碼。
for語句結構:
for(初始化变量;循环条件;循环迭代) { 循环语句 }
#假如,一個盒子裡有6個球,我們每次取一個,重複從盒子裡取出球,直到球取完為止。
<script type="text/javascript"> var num=1; for (num=1;num<=6;num++) //初始化值;循环条件;循环后条件值更新 { document.write("取出第"+num+"个球<br />"); } </script>
和for迴圈有相同功能的還有while迴圈, while迴圈重複執行一段程式碼,直到某個條件不再滿足。
while語句結構:
while(判断条件){ 循环语句 }
使用while循環,完成從盒子裡取球的動作,每次取一個,共6個球。
<script type="text/javascript"> var num=0; //初始化值 while (num<=6) //条件判断 { document.write("取出第"+num+"个球<br />"); num=num+1; //条件值更新 } </script>
do while結構的基本原理和while結構是基本相同的,但是它保證循環體至少被執行一次。因為它是先執行程式碼,後判斷條件,如果條件為真,繼續循環。
do...while語句結構:
do{ 循环语句 }while(判断条件)
我們試著輸出5個數字。
<script type="text/javascript"> num= 1; do { document.write("数值为:" + num+"<br />"); num++; //更新条件 } while (num<=5) </script>
for in 迴圈是一種特殊類型的迴圈,也是普通for 迴圈的變體,主要用來遍歷對象,使用它可以將對像中的屬性依次循環出來,其語法格式如下:
for (variable in object) { // 要执行的代码 }
其中,variable 為一個變量,每次循環時這個變量都會被賦予不同的值,我們可以在{ }中使用這個變數來進行一系列操作;object 為要遍歷的對象,在每次循環中,會將object 對像中的一個屬性的鍵賦值給變數variable,直到對像中的所有屬性都遍歷完。
JS for in 循环示例代码:
// 定义一个对象 var person = {"name": "Clark", "surname": "Kent", "age": "36"}; // 遍历对象中的所有属性 for(var prop in person) { document.write("<p>" + prop + " = " + person[prop] + "</p>"); }
运行结果:
name = Clark surname = Kent age = 36
for of 循环是 ECMAScript6 中新添加的一个循环方式,与 for in 循环类似,也是普通 for 循环的一种变体。使用 for of 循环可以轻松的遍历数组或者其它可遍历的对象,例如字符串、对象等。
JS for of 循环的语法格式如下:
for (variable of iterable) { // 要执行的代码 }
其中,variable 为一个变量,每次循环时这个变量都会被赋予不同的值,我们可以在后面的{ }中使用这个变量来进行一系列操作;iterable 为要遍历的内容,在每次循环中,会将 iterable 中的一个值赋值给变量 variable,直到 iterable 中的所有值都遍历完。
示例代码如下:
// 定义一个数组 var arr = ['a', 'b', 'c', 'd', 'e', 'f']; // 使用 for of 循环遍历数组中的每个元素 for (var value of arr) { document.write(value + ", "); } document.write("<br>"); // 定义一个字符串 var str = "Hello World!"; // 使用 for of 循环遍历字符串中的每个字符 for (var value of str) { document.write(value + ", "); } document.write("<br>"); // 定义一个对象 var obj = {"name": "Clark", "surname": "Kent", "age": "36"}; // 使用 for of 循环遍历对象中的所有属性 for(var value in obj) { document.write(value + ", "); }
运行结果:
a, b, c, d, e, f, H, e, l, l, o, , W, o, r, l, d, !, name, surname, age,
在while、for、do...while、while循环中使用break语句退出当前循环,直接执行后面的代码。
格式如下:
for(初始条件;判断条件;循环后条件值更新) { if(特殊情况) {break;} 循环代码 }
当遇到特殊情况的时候,循环就会立即结束。看看下面的例子,输出10个数,如果数值为5,就停止输出。
continue的作用是仅仅跳过本次循环,而整个循环体继续执行。
语句结构:
for(初始条件;判断条件;循环后条件值更新) { if(特殊情况) { continue; } 循环代码 }
上面的循环中,当特殊情况发生的时候,本次循环将被跳过,而后续的循环则不会受到影响。
【推荐学习:javascript高级教程】
以上是javascript流程控制的語句有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!