您好,登錄后才能下訂單哦!
程序的三大結(jié)構(gòu):
1. 順序結(jié)構(gòu)
2. 選擇結(jié)構(gòu)
3. 循環(huán)結(jié)構(gòu)
if(){}判斷語句
if(true){
//執(zhí)行該語句
}
if(false){
//跳過該語句
}
if(ture){ //當if括號中結(jié)果為true時執(zhí)行語句1,否則執(zhí)行語句2
//語句1
}else{
//語句2
}
if()括號中的東西我們通常叫它邏輯點。
一個奇葩問題
if(//在這個括號里會發(fā)生各種各樣奇奇怪怪的事情)
if(1){
alert('看我彈出來給你看')
}
感覺怪怪的:
1.if括號里填什么來著???
2.1是true么?
為什么會發(fā)生這樣的事情那?在一些特定情況下,計算機會進行隱式類型轉(zhuǎn)換。他和強制類型轉(zhuǎn)換(Number)不一樣,他不需要你做些什么,會自動對數(shù)據(jù)類型進行轉(zhuǎn)換。
在 運算中,和if(括號中),會發(fā)生隱式類型轉(zhuǎn)換。
1.運算中的隱式類型轉(zhuǎn)換:
var a='1' ,b=2;
a+b=???
+運算符有兩種含義,第一層含義是數(shù)學中的+運算,第二層含義是字符串拼接,優(yōu)先運算字符串拼接,所以在檢測到加好左右兩邊存在字符串的時候,會將運算符左右兩邊的數(shù)字都轉(zhuǎn)換成字符串再進行運算。
a-b=???
除了+運算符具有兩層含義以外,- * /只有數(shù)學意義,所以當進行- * /運算的時候默認會將運算符兩側(cè)的數(shù)據(jù)類型隱式轉(zhuǎn)換為數(shù)字類型,再進行運算。
2.if(括號中的)隱式類型轉(zhuǎn)換。
我們都知道,if括號中只需要布爾類型值。那么在if判斷中,所有的數(shù)據(jù)類型都會被隱式轉(zhuǎn)換為布爾類型。
if(非零數(shù)字都被轉(zhuǎn)換成ture、非空字符串都轉(zhuǎn)換成true),存在兩條基礎規(guī)則,其余規(guī)則在今后學習中慢慢發(fā)掘。
alert(1==true);//true
switch();
switch(語句){
case 0:alert(1);
break;
case 2:alert(2);
case 3:alert(3);
default:alert(10)
}
案例:成績判定。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
</body>
<script>
var achievement = 30; //成績;
var passNum = 60; //及格分數(shù)線;
if (achievement >= passNum) {
alert('成績合格')
} else {
alert('成績不合格')
}
</script>
</html>
案例:顯示星期幾。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
//假設每個月的第一天是星期一,寫一個程序算出當月日期是星期幾;
var day=33;//幾號
if(day>=31||day<=0){
alert('星期八')
}else{
var nDsay=day%7;
switch(nDsay){
case 1:alert('星期一');
break;
case 2:alert('星期二');
break;
case 3:alert('星期三');
break;
case 4:alert('星期四');
break;
case 5:alert('星期五');
break;
case 6:alert('周六了好好嗨皮一下吧');
break;
case 0:alert('周末了好好嗨皮一下吧');
break;
default:alert('不可能彈出來');
}
}
</script>
</head>
<body>
</body>
</html>
注意switch的應用場景(有多個確定值需要判斷的時候);
注意case穿透,要加break語句(如果程序沒有發(fā)現(xiàn)break語句,那么解析器會繼續(xù)向下解析);
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。