最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript中for...of和for..in循環(huán)的區(qū)別

 更新時間:2022年08月16日 15:26:23   投稿:zx  
JS中循環(huán)語句眾多,你是否也有用的時候突然不知道用哪個的經歷,本文主要介紹了javascript中for...of和for..in循環(huán)的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

for…in可以用來干什么

(1)for…in最好用來遍歷對象,但也可以遍歷數組(有缺陷)
(2)for…in遍歷的是key-value中的key值

我們先看怎么使用for…in遍歷對象

const obj = {
?? ?a:1,
?? ?b:2,
?? ?c:3
}

for( var o in obj){
?? ?console.log(o); // 遍歷出來的是對象中的屬性,a,b,c
?? ?console.log(obj[o]); // 遍歷出來的是對象中屬性各自對應的值1,2,3
}

需要注意的是,使用for…in遍歷對象時,不僅會把對象上的屬性遍歷出來,還會把對象原型鏈上的可枚舉的屬性遍歷出來

再看看for…in遍歷數組能不能成功

const arr = [1,2,3,4,5]
for(var a in arr){
    console.log(a); // 輸出的是數組索引
    console.log(arr[a]); // 輸出的是數組索引對應的值
}

結果是成功的,但又為什么說最好不要用for…in遍歷數組呢?

(1)for…in遍歷出的數組索引為字符串型數字,不能直接進行幾何運算
(2)遍歷的順序可能不是按照實際數組的內部順序
(3)使用for…in會遍歷所有的可枚舉屬性,包括原型

for…of能用來做什么

(1)for…of可以用來遍歷數/數組/字符串/map/set等擁有迭代器對象的集合
(2)for…of遍歷出來的是key-value中的value值

// 遍歷數組
var arr = [1,2,3,4,3,5,7];
for (let i of arr){
?? ?console.log(i);
}

// 遍歷字符串
var str = 'hello'
for (let s of str){
?? ?console.log(s);?
}

// 遍歷set集合
const set = new Set([1,2,3,4])
for (let s of set){
?? ?console.log(s);
}

補充:
(1)for…of不能用來遍歷對象,因為普通對象中沒有迭代器對象
(2)與forEach()不同的是,for…of可以使用break,continue,return等語句

總結下來就是:

(1)在遍歷對象時用for…in,在遍歷數組時用for…of
(2)for…in遍歷出的是key,for…of遍歷出的結果是value。
也就是說遍歷數組時,for…in遍歷的是數組的索引,for…of遍歷的是數組的元素值。

到此這篇關于javascript中for...of和for..in循環(huán)的區(qū)別的文章就介紹到這了,更多相關javascript for...of和for..in內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 前端Echarts自適應分辨率和縮放功能代碼實例

    前端Echarts自適應分辨率和縮放功能代碼實例

    ECharts提供了自適應功能,可以自動調整圖表大小以適應屏幕變化,下面這篇文章主要給大家介紹了關于前端Echarts自適應分辨率和縮放功能的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • js 中 document.createEvent的用法

    js 中 document.createEvent的用法

    用該方法創(chuàng)建了 Event 對象以后,必須用上表中所示的初始化方法初始化對象。關于初始化方法的詳細信息,請參閱 Event 對象參考。
    2010-08-08
  • Layui數據表格之單元格編輯方式

    Layui數據表格之單元格編輯方式

    今天小編就為大家分享一篇Layui數據表格之單元格編輯方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • JS簡單獲取當前日期和農歷日期的方法

    JS簡單獲取當前日期和農歷日期的方法

    這篇文章主要介紹了JS簡單獲取當前日期和農歷日期的方法,涉及javascript日期運算與字符串轉換相關操作技巧,需要的朋友可以參考下
    2017-04-04
  • JavaScript創(chuàng)建對象的常用方式總結

    JavaScript創(chuàng)建對象的常用方式總結

    這篇文章主要介紹了JavaScript創(chuàng)建對象的常用方式,結合實例形式總結分析了javascript面向對象程序設計中對象創(chuàng)建的常見方式、相關操作技巧與注意事項,需要的朋友可以參考下
    2018-08-08
  • js異或運算符^小技巧分享

    js異或運算符^小技巧分享

    這篇文章主要介紹了js異或運算符^小技巧,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • JavaScript中的細節(jié)分析

    JavaScript中的細節(jié)分析

    高山登不上,不是因為體力不支,只因鞋里一粒。學習也是如此,因而有必要把JavaScript中常見的和與其它語言不同的那些細節(jié)學習一下
    2012-06-06
  • cnblogs csdn 代碼運行框實現代碼

    cnblogs csdn 代碼運行框實現代碼

    大家用cnblogs,csdn博客發(fā)布技術文檔的時候,可以用下面的代碼實現運行功能。當然大家看了源碼就會發(fā)現其實方法還有很多。有更好的方法就發(fā)布一下啊。
    2009-11-11
  • JavaScript高級程序設計 閱讀筆記(十九) js表格排序

    JavaScript高級程序設計 閱讀筆記(十九) js表格排序

    js表格排序實現代碼,需要的朋友可以參考下
    2012-08-08
  • bootstrap監(jiān)聽滾動實現頭部跟隨滾動

    bootstrap監(jiān)聽滾動實現頭部跟隨滾動

    這篇文章主要為大家詳細介紹了bootstrap監(jiān)聽滾動實現頭部跟隨滾動,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11

最新評論

河津市| 嵊泗县| 尼玛县| 德阳市| 甘孜县| 密山市| 乐昌市| 长白| 新绛县| 永福县| 交口县| 泸州市| 阿鲁科尔沁旗| 山阴县| 易门县| 江都市| 且末县| 桦川县| 西畴县| 如皋市| 即墨市| 永吉县| 东丽区| 长阳| 扬中市| 峨边| 广南县| 原阳县| 阳城县| 武宁县| 基隆市| 上思县| 大理市| 集安市| 呼和浩特市| 萍乡市| 南丹县| 浦东新区| 南溪县| 蒙自县| 安康市|