JavaScript進階之流程控制語句
1.做判斷(if語句)
if語句是基於條件成立才執行相應程式碼時使用的語句。
語法:
if(條件)
{ 條件成立時執行程式碼}
注意:if小寫,大寫字母(IF)會出錯!
假設你應聘web前端技術開發崗位,如果你會HTML技術,你面試成功,歡迎加入公司。程式碼表示如下:
<script type="text/javascript">
var mycarrer = "HTML";
if (mycarrer == "HTML")
{
document.write("你面試成功,歡迎加入公司。");
}
</script>
2.二選一 (if…else語句)
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>
3.多重判斷(if..else巢狀語句)
要在多組語句中選擇一組來執行,使用if..else巢狀語句。
語法:
if(條件1)
{ 條件1成立時執行的程式碼}
else if(條件2)
{ 條件2成立時執行的程式碼}
…
else if(條件n)
{ 條件n成立時執行的程式碼}
else
{ 條件1、2至n不成立時執行的程式碼}
假設數學考試,小明考了86分,給他做個評價,60分以下的不及格,60(包含60分)-75分為良好,75(包含75分)-85分為很好,85(包含85分)-100優秀。
程式碼表示如下:
4.多種選擇(Switch語句)
當有很多種選項的時候,switch比if else使用更方便。這裡在做練習的時候default語句後不加break;switch語句失效。
語法:
switch(表示式)
{
case值1:
執行程式碼塊 1
break;
case值2:
執行程式碼塊 2
break;
…
case值n:
執行程式碼塊 n
break;
default:
與 case值1 、 case值2…case值n 不同時執行的程式碼
break;
}
語法說明:
Switch必須賦初始值,值與每個case值匹配。滿足執行該 case 後的所有語句,並用break語句來阻止執行下一個case。如所有case值都不匹配,執行default後的語句。
假設評價學生的考試成績,10分滿分制,我們按照每一分一個等級將成績分等,並根據成績的等級做出不同的評價。
程式碼如下:
執行結果:
評語: 及格,加油!
注意:記得在case所執行的語句後新增上一個break語句。否則就直接繼續執行下面的case中的語句,看以下程式碼:
執行結果:
評語: 繼續努力!
評語: 及格,加油!
評語: 湊合,奮進
評語: 很棒,很棒
評語: 高手,大牛
在上面的程式碼中,沒有break停止語句,如果成績是4分,則case 5後面的語句將會得到執行,同樣,case6、7-10後面的語句都會得到執行。
5.重複重複(for迴圈)
很多事情不只是做一次,要重複做。如列印10份試卷,每次列印一份,重複這個動作,直到列印完成。這些事情,我們使用迴圈語句來完成,迴圈語句,就是重複執行一段程式碼。
for語句結構:
for(初始化變數;迴圈條件;迴圈迭代)
{
迴圈語句
}
假如,一個盒子裡有6個球,我們每次取一個,重複從盒中取出球,直到球取完為止。
<script type="text/javascript">
var num=1;
for (num=1;num<=6;num++) //初始化值;迴圈條件;迴圈後條件值更新
{ document.write("取出第"+num+"個球<br />");
}
</script>
結果:
執行思路:
6.反反覆覆(while迴圈)
和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>
7.來來回回(Do…while迴圈)
do while結構的基本原理和while結構是基本相同的,但是它保證迴圈體至少被執行一次。因為它是先執行程式碼,後判斷條件,如果條件為真,繼續迴圈。
do…while語句結構:
do
{
迴圈語句
}
while(判斷條件)
我們試著輸出5個數字。
<script type="text/javascript">
num= 1;
do
{
document.write("數值為:" + num+"<br />");
num++; //更新條件
}
while (num<=5)
</script>
執行結果:
為什麼呢?我們來看下執行思路:
8.退出迴圈break
在while、for、do…while、while迴圈中使用break語句退出當前迴圈,直接執行後面的程式碼。
格式如下:
for(初始條件;判斷條件;迴圈後條件值更新)
{
if(特殊情況)
{break;}
迴圈程式碼
}
當遇到特殊情況的時候,迴圈就會立即結束。看看下面的例子,輸出10個數,如果數值為5,就停止輸出。
執行結果:
注:當num=5的時候迴圈就會結束,不會輸出後面迴圈的內容。
9.繼續迴圈continue
continue的作用是僅僅跳過本次迴圈,而整個迴圈體繼續執行。
語句結構:
for(初始條件;判斷條件;迴圈後條件值更新)
{
if(特殊情況)
{ continue; }
迴圈程式碼
}
上面的迴圈中,當特殊情況發生的時候,本次迴圈將被跳過,而後續的迴圈則不會受到影響。好比輸出10個數字,如果數字為5就不輸出了。
執行結果:
注:上面的程式碼中,num=5的那次迴圈將被跳過。
10.程式設計練習
在一個大學的程式設計選修課班裡,我們得到了一組參加該班級的學生資料,分別是姓名、性別、年齡和年級,接下來呢,我們要利用JavaScript的知識挑出其中所有是大一的女生的的名字哦。
學生資訊如下:
('小A','女',21,'大一'), ('小B','男',23,'大三'),
('小C','男',24,'大四'), ('小D','女',21,'大一'),
('小E','女',22,'大四'), ('小F','男',21,'大一'),
('小G','女',22,'大二'), ('小H','女',20,'大三'),
('小I','女',20,'大一'), ('小J','男',20,'大三')
任務
第一步: 把這些資料組成一個陣列,方便我們之後操作哦。
提示: 使用二維陣列。
第二步: 篩選資料吧,首先找出都是大一的所有資訊 ;
第三步: 最後再一次篩選上一步得到的資料,列印出都是女生的姓名 ;
提示: 可以用switch 或 if 語句進行篩選。
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制語句</title>
<script type="text/javascript">
var infos=[["小A","女",21,"大一"],["小B","男",23,"大三"],
["小C","男",24,"大四"],['小D','女',21,'大一'],
['小E','女',22,'大四'],['小F','男',21,'大一'],
['小G','女',22,'大二'],['小H','女',20,'大三'],
['小I','女',20,'大一'],['小J','男',20,'大三']];
//第一步把之前的資料寫成一個陣列的形式,定義變數為 infos
for(var i=0;i<10;i++){
if(infos[i][3]=="大一"&&infos[i][1]=="女"){
document.write(infos[i][0]+"<br>");
}
}
//第一次篩選,找出都是大一的資訊
//第二次篩選,找出都是女生的資訊
</script>
</head>
<body>
</body>
</html>
相關文章
- JavaScript之流程語句JavaScript
- python之流程控制語句Python
- JavaScript學習筆記 - 進階篇(3)- 流程控制語句JavaScript筆記
- 常用sql進階語句SQL
- MySQL全面瓦解20:可程式設計性之流程控制語句MySql程式設計
- Mysql系列第十七講 流程控制語句(高手進階)MySql
- JavaScript常用的流程控制語句JavaScript
- JavaScript 流程控制語句詳解:if語句、switch語句、while迴圈、for迴圈等JavaScriptWhile
- JavaScript statement flow control || JavaScript 語句流程控制JavaScript
- flask之控制語句 if 語句與for語句Flask
- JavaScript的流程控制語句以及函式JavaScript函式
- javascript流程控制語句簡單介紹JavaScript
- JavaScript進階之基礎語法JavaScript
- JavaScript for in 語句JavaScript
- JavaScript 語句JavaScript
- Java 控制語句Java
- 程式控制語句
- JavaScript進階之模擬new Object()過程JavaScriptObject
- JavaScript進階之模擬new Object過程JavaScriptObject
- 前端進階之 Javascript 抽象語法樹前端JavaScript抽象語法樹
- 4、JavaScript進階篇①——基礎語法JavaScript
- 物件導向進階時,if語句寫錯位置物件
- 初級進階版SQL語句總結(1)SQL
- Oracle儲存過程乾貨(二):PLSQL控制語句Oracle儲存過程SQL
- JavaScript switch 語句JavaScript
- JavaScript if else 語句JavaScript
- JavaScript switch語句JavaScript
- JavaScript while 語句JavaScriptWhile
- JavaScript return 語句JavaScript
- JavaScript export語句JavaScriptExport
- JavaScript import語句JavaScriptImport
- 常用Javascript語句JavaScript
- JavaScript with 語句用法JavaScript
- JavaScript(ECMAScript) with 語句JavaScript
- JavaScript進階JavaScript
- python 控制語句Python
- 複雜控制語句
- 流程控制語句