w的學習筆記03.(2019年1月9日)
1、迴圈結構
1、問題
1、控制檯上列印一遍Hello World
console.log("Hello World");
2、控制檯上列印十遍Hello World
console.log("Hello World");
console.log("Hello World");
.......
3、控制檯上列印1000遍 Hello World
4、將1000遍的Hello World變成 你好,世界
5、在1000遍 你好世界 基礎上增加 第N遍:你好世界
第 1 遍 :你好,世界
第 2 遍 :你好,世界
2、什麼是迴圈
迴圈:重複的執行相同或相似的程式碼
生活中的迴圈場景:
1、上學
2、跑圈
3、活著
迴圈的兩個基本要素:
1、迴圈條件
整個迴圈的次數,可以由迴圈的開始和結束來決定
2、迴圈操作(迴圈體)
在每一次迴圈過程中,所做的相同或相似的操作是什麼
3、while 迴圈結構
3.1、語法結構
while(條件){
//迴圈體
}
如果條件為真的,則執行一遍迴圈體中的語句,然後再一次
去判斷條件,如果條件為真,則再執行一遍迴圈體中的語句.
......直到條件為假時,則結束迴圈
3.2、break
作用:終止迴圈操作,
問題:從網頁上一直輸入字元並列印,
直到輸入"exit"為止(不確定迴圈次數)
while(true){
//輸入 字元
//判斷輸入的字元 是否為 exit,如果是 則break
//列印 字元
}
4、:do{}while();
4.1 迴圈變數=初始值
do{
迴圈體;
自增 自減....
}while(迴圈條件);
----->順序不同:
var i = 0; //i[0]
do{
console.log(i);//0 1 2 3 4
i++; //i[4]
}while(i<5);
筆試題:
總結:while vs do while
1:如果第一次條件都滿足,兩者完全一致.
2:如果第一次條件不滿足,while 是一次都不執行
退出迴圈:
1:迴圈條件控制退出..優雅
2:break;隨時退出迴圈..野蠻
3:return;返回值 少用...
continue; 退出本次迴圈除下語句
var i = 1;
while(i<10){
if(i==3){
break;
}
console.log(i);
i++;
}
練習
1、電話銀行
1、迴圈操作
1、彈出提示資訊並接收使用者輸入的資料(prompt)
2、開始匹配 使用者輸入的資料
1、輸入1
餘額查詢中,請稍後....
2、輸入2
取款中,請稍後
3、輸入3
轉賬中,請稍後
4、0
彈出 退出 提示
退出迴圈(break)
5、非0-3之間
給出錯誤提示
2、迴圈條件
無限次(while(true))
2、猜數字遊戲
1、迴圈外 生成一個隨機數
//生成0-1之間的隨機數
var num=Math.random();
//將0-1的隨機數變成0-99
num= num*100;
//只獲取隨機數的整數部分
num=parseInt(num);
2、迴圈
1、條件
無限制(while(true){})
2、操作
1、要求使用者輸入一個數字並儲存(input)
2、判斷使用者輸入的內容
0、input是否為exit退出(break)
1、input>num:提示大了
2、input<num:提示小了
3、提示正確,結束(break)
5、for 迴圈結構
var i=1;//1、迴圈條件 變數宣告
while(i<=10){//2、迴圈條件
//3、迴圈操作
console.log("Hello World");
i=i+1;//4、確定迴圈次數時,不能省略
}
1、for迴圈結構語法
for(表示式1;表示式2;表示式3){
迴圈操作
}
表示式1:迴圈條件 變數宣告
表示式2:迴圈條件的判斷
表示式3:更新迴圈變數(確定迴圈次數時使用)
執行過程:
1、計算表示式1的值
2、計算表示式2的值,如果結果為true,則執行迴圈體,
結果為false,則退出迴圈
3、執行迴圈體
4、計算表示式3的值
5、計算表示式2
......
6、反覆執行迴圈體
使用場合:
1、確定迴圈次數的時候,優先使用for迴圈
2、不確定迴圈次數時,可以優先使用 while
2、for表示式的特殊用法
1、表示式1可以省略,;不能省
儘量將 表示式1的內容在for之外補齊
3、表示式2也可以省略,;不能省
省略之後,會出現死迴圈
儘量在迴圈體內將條件補足
4、表示式3可以省略
死迴圈
5、三個表示式全為空
死迴圈,一定要在迴圈體內或外 補充所有的表示式
2、陣列
1、問題
將 現場班 所有同學的名稱儲存起來
var name1="";
var name2="";
....
var name80="";
console.log(name1);
....
console.log(name80);
2、一組資料--陣列(Array)
1、什麼是陣列
多個元素所組成的集合--在一個變數中儲存多個數值 一組變數的集合,再起一個統一名字..
數值資料 是按照 “線性” 順序排列的
線性:
有序排列
除第一個資料以外元素都有一個直接的“前驅”元素
除最後一個數據外,其他的每個元素都有一個“後繼”元素
數值的元素是一個挨一個 按順序儲存
在陣列中,通過下標(索引)來表示陣列中元素的位置
(從0開始,到陣列元素個數-1結束)
2、如何建立陣列
1:建立陣列 5種
var arr1 = [];//建立一個空陣列
var arr2 = [值1,值2.....]//建立有值陣列
var arr3 = new Array();//建立一個空陣列
var arr4 = new Array(n);//建立一個長度為n個元素陣列
var arr5 = new Array(值1,值2....);
3、獲取陣列中值
陣列名[0]
獲取某個值對操作與普通變數一樣
4、修改陣列中值
陣列名[下標] = 值;
5、固定套路常見屬性
每一個數組物件屬性.length
arr2.length {陣列中元素個數}
var arr2 = [1,3,4,5] 4
// 0 1 2 3
arr2.length;==7
6、遍歷陣列
獲取陣列中每一個元素
練習1
a:建立陣列[1,2,3,4,5,6,7,8,9]
b:計算累加和,將陣列每一個元素相加
c:輸出累加和
練習2
a:建立陣列[1,2,30,4,50]
b:計算陣列中每一個元素平均值
c:輸出平均值
練習3
a:建立陣列[1,2,-30,4,50]
b:獲取陣列中最大值
c:輸出最大值