判斷
腳本中通常有的地方能夠需要進(jìn)行判斷,以決定接下來要運(yùn)行哪段代碼.
流程圖可以幫助我們進(jìn)行判斷規(guī)劃
判斷表達(dá)式和條件語句
判斷應(yīng)該包含在一個小括號中, 用來表示返回的是一個值, 做到代碼清晰易讀
if (條件){
滿足true條件時執(zhí)行的操作
}else{
不滿足false條件時執(zhí)行的操作
};
//例
if ( score > 50 ) {
document.write('You passed');
} else {
document.write('Try again...');
};
- 比較操作符
返回 true 或 false 的單個結(jié)果
==
等于-比較兩個值是否相同
===
嚴(yán)格等于-比較兩個值,并檢查它們的數(shù)據(jù)類型是否完全相同
!=
不等于-比較兩個值是否不同
!==
嚴(yán)格不等于-比較兩個值,并檢查它們的數(shù)據(jù)類型是否不完全相同
>
大于
>=
大于等于
<
小于
<=
小于等于
- 邏輯操作符
允許將多個比較操作符的結(jié)果放在一起, 在進(jìn)行比較&& 與-檢測多個條件
|| 或-檢測至少一個條件
! 非-操作一個布爾變量, 然后取反
switch 語句
switch
語句, 當(dāng)條件中的值和變量值匹配時, 它后面的代碼就會被執(zhí)行
每個 case 表示一個條件
break 語句會停止執(zhí)行 switch 語句中的其他分支(性能比多個 if 語句要好)
default可以用來處理所有 case 意外的情況
switch (level) { //level傳入'one' 'two' 等字符串
case 'one':
title = 'level 1';
breack;
case 'two':
title = 'level 2';
breack;
case 'three':
title = 'level 3';
breack;
default:
title = 'text';
breack;
};
循環(huán)
循環(huán)檢查一個條件,如果這個條件為 true, 那么會執(zhí)行一段相應(yīng)的代碼;
然后這個條件會被再次檢查,如果依然返回true, 那么這段代碼會再次被執(zhí)行;
這個過程會一直反復(fù),知道條件返回 false 為止.
for 循環(huán)
如果確定一段代碼運(yùn)行的特定次數(shù),可以用 for 循環(huán).
for 循環(huán)使用計數(shù)器作為條件
計數(shù)器由三條語句組成:初始化(var i = 0) 在循環(huán)第一次運(yùn)行的時候創(chuàng)建并使用
條件(i < 10) 循環(huán)最終所到達(dá)的數(shù)值
更新(i++) 每次循環(huán)后計數(shù)器的變化規(guī)則
for (var i = 0; i < 10; i++) { //這里的(var = i; i < 10; i++)就是一個循環(huán)計數(shù)器
document.write(i);
};
//例:對數(shù)組進(jìn)行循環(huán)
//在循環(huán)外先定義變量
var scores = [24, 32, 17];
var arrayLength = scores.length; //以數(shù)組長度的數(shù)量來確定循環(huán)次數(shù)
var roundNumber = 0;
var msg = '';
for (var i = 0; i < arrayLength; i++) {
roundNumber = (i + 1);
msg += 'Round ' + roundNumber + ': ';
msg += scores[i] + '</br>'; //用循環(huán)次數(shù)作為鍵位, call 出數(shù)組的值
}
document.getElementById('answer').innerHTML = msg;
while 循環(huán)
如果不確定代碼究竟要執(zhí)行多少次,可用 while 循環(huán). 檢查條件只要滿足 true 就會一直重復(fù)
var i = 1;
var msg = '';
while (i < 10) {
msg += i + ' x 5 = ' + (i * 5) + '<br />';
i++; //注意,這里的計數(shù)器是在循環(huán)內(nèi)完成操作,而不像 for 循環(huán)寫在條件里
}
document.getElementById('answer').innerHTML = msg;
輸出結(jié)果:
1 x 5 = 5
2 x 5 = 10
3 x 5 = 15
4 x 5 = 20
5 x 5 = 25
6 x 5 = 30
7 x 5 = 35
8 x 5 = 40
9 x 5 = 45
do while 循環(huán)
與 while 循環(huán)相識,只是即使在返回false 時,花括號中的語句也至少會運(yùn)行一次
判斷+循環(huán)示例
//例子用 if else判斷是加法還是乘法, 并 用 while 循環(huán)輸出表格
var table = 3;
var operator = 'addition';
var i = 1;
var msg = '';
if (operator === 'addition') {
// Do addition
while (i < 11) {
msg += i + ' + ' + table + ' = ' + (i + table) + '<br />';
i++;
}
} else {
// Do multiplication
while (i < 11) {
msg += i + ' x ' + table + ' = ' + (i * table) + '<br />';
i++;
}
}
var el = document.getElementById('blackboard');
el.innerHTML = msg;