huli
contact me: aszx87410@gmail.com
Lesson 4 : Flow Control 流程控制
情境:給你一個分數,判斷這個人是否及格
var score = prompt("請輸入分數");
if(score>=60){
console.log("及格");
}else{
console.log("你被當了");
}
var score = prompt("請輸入分數");
if(score>=100){
console.log("你好棒");
}else if(score>=60){
console.log("及格");
}else{
console.log("你被當了");
}
var department = prompt("請輸入系所");
if(department=="哲學"){
console.log("你們系畢業以後都在幹嘛?");
}else if(department=="心理"){
console.log("你知道我現在在想什麼嗎?");
}else if(department=="中文"){
console.log("這個字怎麼寫");
}else if(department=="資工"){
console.log("可以幫我修電腦嗎?");
}else{
console.log("請輸入其他系");
}
var department = prompt("請輸入系所");
switch(department){
case "哲學":
console.log("你們系畢業以後都在幹嘛?");
break;
case "心理":
console.log("你知道我現在在想什麼嗎?");
break;
case "中文":
console.log("這個字怎麼寫");
break;
case "資工":
console.log("可以幫我修電腦嗎?");
break;
default:
console.log("請輸入其他系");
}
var name = prompt("請輸入姓名");
var score = prompt("請輸入分數");
if(name=="小明"){
console.log("小明安安");
if(score>=80){
//小明是資優生,要求比較高
console.log("及格");
}else{
console.log("不及格");
}
}else{
console.log("你是誰");
if(score>=60){
console.log("及格");
}else{
console.log("不及格");
}
}
情境:輸出1~5
var i;
for(i=1;i<=5;i++){
console.log(i);
}
for(var i=1;i<=5;i++){
console.log(i);
}
for(初始值;條件;要做的事){
//do something
}
for(var i=0;i<=5;i++){
console.log(i);
}
初始:i=0
第一圈:i=0, 檢查是否i<=5, 是, i++, 輸出0
第二圈:i=1, 檢查是否i<=5, 是, i++, 輸出1
第三圈:i=2, 檢查是否i<=5, 是, i++, 輸出2
第四圈:i=3, 檢查是否i<=5, 是, i++, 輸出3
第五圈:i=4, 檢查是否i<=5, 是, i++, 輸出4
第六圈:i=5, 檢查是否i<=5, 是, i++, 輸出5
第七圈:i=6, 檢查是否i<=5, 否, 跳出
for(var i=2;i<=100;i+=2){
console.log(i);
}
初始:i=2
第一圈:i=2, 檢查是否i<=100, 是, i+=2, 輸出2
第二圈:i=4, 檢查是否i<=100, 是, i+=2, 輸出4
第三圈:i=6, 檢查是否i<=100, 是, i+=2, 輸出6
....
for(var i=1;i<=100;i++){
if(i%2==0){
console.log(i);
}
}
for(var i=10;i>=1;i--){
console.log(i);
}
第一圈:i=10, 檢查i>=1, 是, i--, 輸出10
第二圈:i=9, 檢查i>=1, 是, i--, 輸出9
....
第十圈:i=1, 檢查i>=1, 是, i--, 輸出1
第十一圈:i=0, 檢查i>=1, 否, 跳出
var i = 1;
while(i<=10){
console.log(i);
i++;
}
while(條件成立){
//do something
}
情境:讓使用者輸入分數並且不斷加總,直到超過100分
var total = 0;
while(total<100){
var score = prompt("請輸入分數");
score = parseInt(score, 10);
total+=score;
}
情境:讓使用者不斷輸入分數,輸出是否及格
當使用者輸入負數時結束程式
var input = 0;
while(input>=0){
input = prompt("請輸入分數");
if(input>=60){
console.log("及格")
}else{
console.log("fail");
}
}
var input = 0;
do{
input = prompt("請輸入分數");
if(input>=60){
console.log("及格")
}else{
console.log("fail");
}
}while(input>=0)
while(true){
//可怕的事情發生了
}
var i = 0;
while(i>=100){
console.log(i);
}
var people = [];
var len = 0;
var score = prompt("請輸入分數");
while(score>=0){
people[len] = score;
len++;
score = prompt("請輸入分數");
};
console.log("一共有"+len+"個人");
for(var i=0;i<len;i++){
console.log(i + "個人 , 分數是:" + people[i]);
}
var people = [];
var score = prompt("請輸入分數");
while(score>=0){
people.push(score);
score = prompt("請輸入分數");
};
console.log("一共有"+people.length+"個人");
for(var i=0;i<people.length;i++){
console.log(i + "個人 , 分數是:" + people[i]);
}
var people = [];
var score = prompt("請輸入分數");
while(score>=0){
people.push(score);
score = prompt("請輸入分數");
};
var max = -1;
for(var i=0;i<people.length;i++){
if(people[i]>max){
max = people[i];
}
}
console.log("最大值是:"+max);
for(var i=1;i<=5;i++){
for(var j=1;j<=5;j++){
console.log("i="+i+", j="+j);
}
}
/*
i=1, j=1
i=1, j=2
i=1, j=3
i=1, j=4
i=1, j=5
i=2, j=1
i=2, j=2
...
i=5, j=5
*/
範例:1*1 = 1
1*2 = 2
.....
9*9 = 81
//範例,使用者輸入1
*
//使用者輸入2
*
**
//使用者輸入3
*
**
***
//使用者輸入4
*
**
***
****
//範例,使用者輸入1
*
//使用者輸入2
*
**
*
//使用者輸入3
*
**
***
**
*
//使用者輸入4
*
**
***
****
***
**
*
//提示
//step 1:讓使用者輸入數字,存到陣列
//step 2:排序
//提示:跟找出最大值有關
//排序不就是不斷找出最大值嗎?
//step 3:輸出陣列
By huli