欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

javascript有哪些循環(huán)語句

這篇文章主要介紹“javascript有哪些循環(huán)語句”,在日常操作中,相信很多人在javascript有哪些循環(huán)語句問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”javascript有哪些循環(huán)語句”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),翁源企業(yè)網(wǎng)站建設(shè),翁源品牌網(wǎng)站建設(shè),網(wǎng)站定制,翁源網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,翁源網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

循環(huán)語句有:1、for循環(huán);2、“for...in”循環(huán);3、while循環(huán);4、“do…while”循環(huán);5、forEach循環(huán);6、map;7、filter過濾循環(huán);8、“Object.keys”遍歷對象的屬性。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

項目開發(fā)中,不管是建立在哪個框架基礎(chǔ)上,對數(shù)據(jù)的處理都是必須的,而處理數(shù)據(jù)離不開各種遍歷循環(huán)。javascript中循環(huán)遍歷有很多種方式,記錄下幾種常見的js循環(huán)遍歷。

一、for循環(huán)

for 語句主要用于執(zhí)行確定執(zhí)行次數(shù)的循環(huán)。

for 語句的基本語法如下:

for([初始值表達式];[條件表達式];[增量表達式]){
   循環(huán)體語句;
}

說明:

  • “初始值表達式”:為循環(huán)變量設(shè)置初始值;

  • “條件表達式”:作為是否進入循環(huán)的依據(jù),可以是任意表達式,但一般為關(guān)系表達式或邏輯表達式,取值為真或假。每次要執(zhí)行循環(huán)之前,都會進行條件表達式值的判斷。如果值為真(值為 true 或非 0 或非空),則執(zhí)行循環(huán)體語句;否則就退出循環(huán)并執(zhí)行循環(huán)語句后面的代碼;

  • “增量表達式”:根據(jù)此表達式更新循環(huán)變量的值。

上述 3 個表達式中的任意一個都可以省略,但需要注意的是,for() 中的;不可以省略。所以如果 3 個表達式都省略時,for 語句變?yōu)椋篺or(;;){循環(huán)體語句}。此時需要注意的是,如果循環(huán)體內(nèi)沒有退出循環(huán)的語句,將會進入死循環(huán)。

示例:

     var sum = 0;
     for(var i = 1; i <= 100;i++){        //在for語句中使用var聲明循環(huán)變量,使代碼更簡潔
         sum += i;
     }
     alert("1~100的累加和sum=" + sum);

二、for...in

for...in循環(huán)主要針對于對象的遍歷,當想要獲取對象的對應(yīng)鍵值時,使用for...in還是比較方便的

var a = [1, 2, ,,,,,,true,,,,,,, "a",,,,,,,,,,,,,,,4,,,,,56,,,,,,"b"];  //定義數(shù)組
var b = [], num = 0;
for (var i = 0; i < a.length; i ++) {  //遍歷數(shù)組
    if (typeof a[i] == "number")  //如果為數(shù)字,則返回該元素的值
        b.push(a[i]);
    num ++;  //計數(shù)器
}
console.log(num);  //返回42,說明循環(huán)了42次
console.log(b);  //返回[1,2,4,56]

三、while循環(huán)

while 語句是最常用的一種循環(huán)語句,在程序中常用于只需根據(jù)條件執(zhí)行循環(huán)而不需關(guān)心循環(huán)次數(shù)的情況。

while 語句的基本語法如下:
while(條件表達式){
     循環(huán)體;
}

說明:

  • 條件表達式:為循環(huán)控制條件,必須放在圓括號中,可以是任意表達式,但一般為關(guān)系表達式或邏輯表達式,取值為真或假。注意:值為 true、非 0、非空的都是真值,反之則為假值。

  • 循環(huán)體:代表需要重復(fù)執(zhí)行的操作,可以是簡單語句,也可以是復(fù)合語句。當為簡單語句時,可以省略大括號{},否則必須使用大括號{}。

while 語句在執(zhí)行時,首先判斷條件表達式的值,如果為真,則執(zhí)行循環(huán)體語句,然后再對條件表達式進行判斷,如果值還是為真,則繼續(xù)執(zhí)行循環(huán)體語句;否則執(zhí)行 while 語句后面的語句。如果表達式的值在第一次判斷就為假(為 false 或 0 或為 null 等值),則一次也不會執(zhí)行循環(huán)體。

需要注意的是,為了使 while 循環(huán)能正常結(jié)束,循環(huán)體內(nèi)應(yīng)該有修改循環(huán)條件的語句或其他終止循環(huán)的語句,否則 while 循環(huán)將進入死循環(huán),即會一直循環(huán)不斷地執(zhí)行循環(huán)體。

例如,下面的循環(huán)語句就會造成死循環(huán)。

var i=1,s=0;
whiel(i<=5){
    s+=i;      
}

上述代碼中 i 的初始值為 1,由于循環(huán)體內(nèi)沒有修改 i 變量的值,所以表達式 i<=5 永遠為真,因而循環(huán)體會一直執(zhí)行。

死循環(huán)會極大地占用系統(tǒng)資源,最終有可能導致系統(tǒng)崩潰,所以我們編程時一定要注意避免死循環(huán)。

     var sum = 1, i = 1;
     var ex = 1;
     while(sum <= 1.5){
         sum += 1/((i + 1)*(i + 1));
         if(sum > 1.5)
              break;
         i++;
         ex +=" + 1/(" + i + "*" + i + ")";
     }
     alert("表達式的值小于等于1.5時的i=" + i + ",對應(yīng)的表達式為:" + ex);

四、do…while循環(huán)

do…while 語句是 while 語句的變形。兩者的區(qū)別在于,while 語句把循環(huán)條件判斷放在循環(huán)體語句執(zhí)行的前面,而 do…while 語句則把循環(huán)條件判斷放在循環(huán)體語句執(zhí)行的后面。

do…while 語句的基本語法如下:

do{
  循環(huán)體;
}while (條件表達式);

“條件表達式”和“循環(huán)體”的含義與 while 語句的相同。在此需要注意的是,do…while 語句最后需要使用;結(jié)束,如果代碼中沒有加上;,則 JavaScript 會自動補上。

do…while 語句在執(zhí)行時,首先執(zhí)行循環(huán)體語句,然后再判斷條件表達式的值,如果值為真(值為 true 或非 0 值),則再次執(zhí)行循環(huán)體語句。do…while 語句至少會執(zhí)行一次循環(huán)體,這一點和 while 語句有顯著的不同。

     var sum = 1, i = 1;
     var ex = 1;
     do{
         sum += 1/((i + 1)*(i + 1));
         if(sum > 1.5)
              break;
         i++;
         ex +=" + 1/(" + i + "*" + i + ")";
     }while(sum <= 1.5);
     alert("表達式的值小于等于1.5時的i=" + i + ",對應(yīng)的表達式為:" + ex);

五、forEach

forEach的使用方法和map使用方法差不多,只是forEach方法不返回值,只用來操作數(shù)據(jù),且循環(huán)中途是無法停止的,總是會將所有成員遍歷完

let arrObj = [{
    id: 1,
    name: 'xiaohua'
},{
    id:2,
    name: 'xiaomin'
},{
    id:3,
    name: 'xiaobai'
}]
arrObj.forEach((item,index,arr)=>{
    console.log(arr) // arrObj
    console.log(index)  // 0 1 2
    console.log(item.name) // xiaohua xiaomin xiaobai
})

六、map

map方法將數(shù)組的所有成員依次傳入?yún)?shù)函數(shù),然后把每一次的執(zhí)行結(jié)果組成一個新數(shù)組返回。循環(huán)中途是無法停止的,總是會將所有成員遍歷完

let arr = [1,2,3,4,5]
let arr2 = arr.map((n)=>{
      return n+1
})
console.log(arr2) // [2,3,4,5,6]
console.log(arr) // [1,2,3,4,5]

map方法接受一個函數(shù)作為參數(shù)。該函數(shù)調(diào)用時,map方法向它傳入三個參數(shù):當前成員、當前位置和數(shù)組本身。

let arrObj = [{
    id: 1,
    name: 'xiaohua'
},{
    id:2,
    name: 'xiaomin'
},{
    id:3,
    name: 'xiaobai'
}]
arrObj.map((item,index,arr)=>{
    console.log(arr) // arrObj
    console.log(index)  // 0 1 2
    console.log(item.name) // xiaohua xiaomin xiaobai
})

七、filter過濾循環(huán)

filter方法用于過濾數(shù)組成員,滿足條件的成員組成一個新數(shù)組返回。它的參數(shù)是一個函數(shù),所有數(shù)組成員依次執(zhí)行該函數(shù),返回結(jié)果為true的成員組成一個新數(shù)組返回。該方法不會改變原數(shù)組。

let arrObj = [{
    id: 1,
    name: 'xiaohua'
},{
    id:2,
    name: 'xiaomin'
},{
    id:3,
    name: 'xiaobai'
}]
let arr2 = arrObj.filter((item,index,arr)=>{
    return (item.name === 'xiaohua')
})
console.log(arr2)  // [{id:1,name:'xiaohua}]

ECMAScirpt5 中 Array 類中的 filter 方法使用目的是移除所有的 ”false“ 類型元素  (false, null, undefined, 0, NaN or an empty string):

let arr = [3, 4, 5, 2, 3, undefined, null, 0, ""];
let arrNew = arr.filter(Boolean);
console.log(arrNew)  //  [3, 4, 5, 2, 3]

Boolean 是一個函數(shù),它會對遍歷數(shù)組中的元素,并根據(jù)元素的真假類型,對應(yīng)返回 true 或 false.

八、Object.keys遍歷對象的屬性

Object.keys方法的參數(shù)是一個對象,返回一個數(shù)組。該數(shù)組的成員都是該對象自身的(而不是繼承的)所有屬性名,且只返回可枚舉的屬性。

let obj = {name: 'xiaohua', sex: 'male', age: '28'}
console.log(Object.keys(obj))
// ["name", "sex", "age"]

判斷一個對象是否是空對象,可以用Object.keys(obj).length>0

到此,關(guān)于“javascript有哪些循環(huán)語句”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

名稱欄目:javascript有哪些循環(huán)語句
URL分享:http://aaarwkj.com/article0/pdegoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)品牌網(wǎng)站制作、標簽優(yōu)化、網(wǎng)站設(shè)計公司網(wǎng)頁設(shè)計公司、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
五月婷婷亚洲激情综合网| 日本精品a秘在线观看| 人妻大乳一区二区三区| 一区二区少妇黄色三区| 亚洲精品成人午夜久久| 日本在线最新视频一区二区三区| 日韩少妇一级淫片免费| 亚洲一区二区在线视频在线观看| 日韩国产传媒视频在线观看| 亚洲伊人成综合人影院| 日韩亚洲毛片全在线播放| 国产实拍之强伦奸在线观看| 亚洲美女国产精选999| 国产亚洲中文字幕无线乱码| 粉嫩一区二区三区精品视频| 国产精品18禁一区二区三区| 日本高清一区二区不卡视频| 人妻在线中文字幕一区| 上海老熟女啪啪露脸高潮| 精品啪啪高潮一区二区| 精品亚洲午夜久久久久| 亚洲精品国产av成人网| 一区二区三区高清av在线| 99精品午夜福利在线| 黄色国产一区二区三区| 涩久久悠悠一区二区三区| 日本人妻中文字幕在线一区 | 国产亚洲美女在线视频视频| 女人的天堂亚洲的天堂欧美| 18禁污污网站国产| 欧亚日韩精品一区二区在线| 色婷婷亚洲综合色一区二区| 巨乳人妻一区二区三区| 日韩毛片中文字幕在线观看| 国产精品久久一国产精品| 国产欧美日韩一二三四| 九九re久久这里有精品| 亚洲青青草原自拍偷拍| 99国产精品久久久久久| 日韩欧美国产综合第一页| 日日躁夜夜躁狠狠躁欧美|