avaScript 循環(huán)
編寫程序是為了讓我們更高效的處理問題,但在生活中我們常常遇到一些重復(fù)性的動作,也就是當(dāng)我們希望一遍又一遍的執(zhí)行多次代碼,但是每一次執(zhí)行代碼的值有不同的時候我們就可以使用循環(huán)語句來解決問題。
不同類型的循環(huán)
JavaScript支持不同類型的循環(huán):
-
for —— 循環(huán)代碼塊—定的次數(shù)
-
forlin —— 循環(huán)遍歷對象的屬性
-
while —— 當(dāng)指定的條件為true 時循環(huán)指定的代碼塊
-
do…while —— 同樣當(dāng)指定的條件為true 時循環(huán)指定的代碼塊
循環(huán):具備的四個條件
-
初始值條件
-
循環(huán)條件
-
迭代條件
-
循環(huán)體
While循環(huán)
do...while
語句可以在某個條件表達式為真的前提下,循環(huán)執(zhí)行指定的一段代碼,直到那個表達式不為真時結(jié)束循環(huán)。
語法:
while(條件){
需要執(zhí)行的代碼
}
比如:
//打印0~3
let n = 0;
while (n < 3) {
n++;
}
do…While循環(huán)
do...while
語句創(chuàng)建一個執(zhí)行指定語句的循環(huán),直到condition
值為 false。在執(zhí)行statement
后檢測condition
,所以指定的statement
至少執(zhí)行一次,理論上,所有的while循環(huán)都可以使用doWhile
語法:
//初始化條件
var index = 0;
do{
//遞歸條件
index++;
//循環(huán)體;
}while(條件);//同樣的這個條件是一個Boolean
比如:
//列出1~10之間的所有奇數(shù)
var index = 0;
do{
index++;
if(index % 2 == 1){
console.log(index);
}
}while(index<10);
-
dowhile與while的區(qū)別:
-
while循環(huán)先是判斷條件,再執(zhí)行循環(huán)體
-
dowhile循 1 環(huán)先循環(huán)一次 2 再判斷條件 3 再執(zhí)行循環(huán)體 4.重復(fù)2,3
比如:
var a = 10;
//while循環(huán)
while(a<4){
console.log("執(zhí)行while循環(huán)");
}
//dowhile循環(huán)
do{
console.log("這是doWhile循環(huán)");
}while(a<4)
for循環(huán)
for
語句用于創(chuàng)建一個循環(huán),它包含了三個可選的表達式,這三個表達式被包圍在圓括號之中,使用分號分隔,后跟一個用于在循環(huán)中執(zhí)行的語句(通常是一個塊語句)。
語法:
for(初始條件;循環(huán)條件;迭代條件){
//循環(huán)體
}
比如:
for(var i = 0 ; i < 10 ; i++){
console.log("輸出第"+i+"次循環(huán)");
}
上面的執(zhí)行順序如下:
-
先執(zhí)行出初始化的條件i= 0;
-
執(zhí)行循環(huán)條件i< 10
-
執(zhí)行循環(huán)體
-
走自增i++
-
執(zhí)行繼續(xù)判斷第2步,依此類推
for/in循環(huán)
for...in
語句以任意順序迭代一個對象的除Symbol
以外的可枚舉屬性,包括繼承的可枚舉屬性。
語法:
var 對象名 = {}
for(屬性名 in 對象名){
//循環(huán)體
}
比如:
var info={name:"xiaoming",sex:"man",age:18};
for (x in info){
txt=txt + person[x];
}
for/of循環(huán)
for...of
語句在可迭代對象(包括 Array
,Map
,Set
,String
,TypedArray
,arguments
對象等等)上創(chuàng)建一個迭代循環(huán),調(diào)用自定義迭代鉤子,并為每個不同屬性的值執(zhí)行語句
語法:
for (屬性名 of 對象名) {
//statements
}
比如:
var arr = ['nick','freddy','mike','james'];
for(var item of arr){
console.log(item);
}
拓展
-
拓展1 數(shù)組的長度 數(shù)組的名字.length
-
拓展2 數(shù)組的元素當(dāng)中 可以是不同的數(shù)據(jù)類型
來源:csdn
藍藍設(shè)計建立了UI設(shè)計分享群,每天會分享國內(nèi)外的一些優(yōu)秀設(shè)計,如果有興趣的話,可以進入一起成長學(xué)習(xí),請加藍小助,微信號:ben_lanlan,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務(wù)合作,也請與我們聯(lián)系01063334945。
分享此文一切功德,皆悉回向給文章原作者及眾讀者.
免責(zé)聲明:藍藍設(shè)計尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請及時與我們?nèi)〉寐?lián)系,我們立即更正或刪除。
藍藍設(shè)計( www.88yangsc.com )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 、平面設(shè)計服務(wù)、UI設(shè)計公司、界面設(shè)計公司、UI設(shè)計服務(wù)公司、數(shù)據(jù)可視化設(shè)計公司、UI交互設(shè)計公司、高端網(wǎng)站設(shè)計公司、UI咨詢、用戶體驗公司、軟件界面設(shè)計公司