韓順平_輕鬆搞定網頁設計(html+css+javascript)_第22講_js三大流程控制(順序流程、分支控制、循環控制)_學習筆記_源代碼圖解_PPT文檔整理

文西馬龍:http://blog.csdn.net/wenximalong/

js基本語法——三大流程控制

(1)順序控制
聽其名而知其意,讓程序可以順序的執行。
案例:

var a=7;
window.alert("a="+a);
window.alert("hello");
a++;
window.alert("a="+a);
window.alert("★★★");
a++;
window.alert("a+="=a);

(2)分支控制

讓程序有選擇的執行,分支控制有三種
①單分支②雙分支③多分支
案例:
編寫一個程序,額可以輸入人的年齡,如果該同志的年齡大於18歲,則輸出“你年齡大於18,要對自己的行爲負責!”
①單分支
if(條件表達式){
語句;
}
②雙分支
案例:
編寫一個程序,可以輸入人的年齡,如果該同志的年齡大於18歲,則輸出“你年齡大於18,要對自己的行爲負責!”。否則,輸出“你的年齡不大,這次放過你了”
if(條件表達式){
語句;
}else{
語句;
}
var age=20;
if(age>18){
window.alert("大於18");
}else{
window.alert("小於18");
}

③多分支
if(條件表達式1){
//執行
}else if(條件表達式2){
//執行
}else if…{ //可以有多個else if
}
else{ //可以沒有
}

案例:
編寫一個程序,可以輸入人的年齡,如果該同志的年齡大於18歲,則輸出“你年齡大於18,要對自己的行爲負責,送入監獄”。如果該同志的年齡大於10歲並且小於等於18,則輸出“你的年齡也不小了,把你送少管所”。其他情況,則輸出“小孩子,下次注意”。

舉例:
如果男,男廁所,女,女廁所,否則不上
var sex=window.prompt("請輸入性別");
if(sex=="男"){
window.alert("上男廁所");
}else if(sex=="女"){
window.alert("上女廁所");
}else{
window.alert("不上廁所");
}

注意:多分支,找到一個入口後,後面的都不判斷了。
var sex=window.prompt("請輸入性別");
if(sex=="男"){
window.alert("上男廁所");
}else if(sex=="女"){
window.alert("上女廁所");
}else if(sex=="女"){
window.alert("ok");
else{
window.alert("不上廁所");
}

判斷女後,輸出:上女廁所,然後就跳出if語句了。
強調:一旦找到一個滿足條件的入口,執行完畢後,就直接結束整個多分支。

③多分支 switch
基礎就要像磐石。

switch(條件表達式){
case 常量1:
語句; break;
case 常量2:
語句; break;

case 常量n:
語句; break;
default:
語句;
break;
}
注意:case有幾個都行,default可以沒有。當case1~n都不滿足的時候,則default。default並不一定要在最後。
switch的細節問題,看demo1.html

注意★★★★★,對demo1.html仔細分析實踐,就會搞明白了。

demo1.html

<html>
	<head>
		<script language="javascript">
			var a=890;
			switch(a){
				case 890:
					window.alert("這是890");
					break; //break 作用是跳出整個swithc語句
				case 90:
					window.alert("這是90");
					break;
				case 890:
					window.alert("沒有匹配的值");
					break;
				}
			//********
			//當break語句沒有的時候,會接着向下執行,直到碰到第二個break,也不會去判斷90了,從入口890進來了已經。
			var a=890;
			switch(a){
				case 890:
					window.alert("這又是890"); //輸出
					//這裏沒有break語句了
				case 90:
					window.alert("這是90"); //輸出後跳出
					break;
				case 890:
					window.alert("沒有匹配的值");
					break;
			}
			window.alert("end…");
			//********
			// 這個會出現什麼提示?會彈出三個對話框,因爲1沒有任何匹配就進入了default,因爲沒有break,就接着執行window.alert("今天是星期一");因爲又沒有break,就再執行window.alert("今天是星期二");
			var flag=1;
			switch(flag){
				default:
				window.alert("默認");
				case 'a':
				window.alert("今天是星期一");
				case 'b':
				window.alert("今天是星期二");
			}
			//********
			//下面的這個又會提示什麼呢?1.1有匹配了,只顯示1.1,然後語句結束。
			var flag=1.1;
			switch(flag){
				default:
				window.alert("默認1.1");
				case 'a':
				window.alert("今天是星期一1.1");
				case 'b':
				window.alert("今天是星期二1.1");
				case 1.1:
				window.alert("1.1");
			}
			//********
			//對上面的程序再深一步,下面的這個又會提示什麼呢?1.2有匹配了,先顯示1.2,沒有遇到break,就繼續執行window.alert("今天是星期二1.2");還是沒有遇到break,再執行window.alert("默認1.2");程序結束。
			var flag=1.2;
			switch(flag){
				case 'a':
				window.alert("今天是星期一1.2");
				case 1.2:
				window.alert("1.2");
				case 'b':
				window.alert("今天是星期二1.2");
				default:
				window.alert("默認1.2");
			}
		</script>
	</head>
	<body></body>
</html>

表達式可以是js支持的所有數據類型
注意:
(1)js的switch語句類型可以是js支持的任何類型(數組和對象除外)
(2)case後面的數據類型可以 任意(數組和對象除外)
(3)break作用是跳出整個switch語句
(4)如果沒有匹配的則執行default
①這個會出現什麼提示?
var flag=1;
switch(flag){
default:
window.alert("默認");
case 'a':
window.alert("今天星期一");
case 'a':
window.alert("今天星期二");
}

②這個又會提示什麼呢?
var flag=1.1;
switch(flag){
default:
window.alert("默認");
case 'a':
window.alert("今天是星期一");
case 'b':
window.alert("今天是星期二");
case 1.1:
window.alert("1.1");
}

案例:

編寫一個程序,可以接收一個字符串,比如:a,b,c,d,e,f,g a表示星期一,不表示星期二…根據用戶的輸入顯示相依的信息,用switch語句。


 韓順平_php從入門到精通_視頻教程_學習筆記_源代碼圖解_PPT文檔整理_目錄

發佈了55 篇原創文章 · 獲贊 8 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章