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

通過實例解析JavaScript for in及for of區(qū)別

 更新時間:2020年06月15日 11:03:23   作者:ssaylo  
這篇文章主要介紹了通過實例解析JavaScript for in及for of區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

對數(shù)組的遍歷大家最常用的就是for循環(huán),ES5的話也可以使用forEach,ES5具有遍歷數(shù)組功能的還有map、filter、some、every、reduce、reduceRight等,只不過他們的返回結果不一樣。但是使用foreach遍歷數(shù)組的話,使用break不能中斷循環(huán),使用return也不能返回到外層函數(shù)。

那么接下來我們一起看一下for in 和for of 的區(qū)別吧。

for in

看一個簡單的例子

//for in 應用于數(shù)組
Array.prototype.sayHello = function(){
  console.log("Hello")
}
Array.prototype.str = 'world';
var myArray = [1,2,10,30,100];
myArray.name='數(shù)組';
 
for(let index in myArray){
  console.log(index);
}
//輸出結果如下
0,1,2,3,4,name,str,sayHello
 
//for in 應用于對象中
Object.prototype.sayHello = function(){
  console.log('Hello');
}
Obeject.prototype.str = 'World';
var myObject = {name:'zhangsan',age:100};
 
for(let index in myObject){
  console.log(index);
}
//輸出結果
name,age,str,sayHello
//首先輸出的是對象的屬性名,再是對象原型中的屬性和方法,
//如果不想讓其輸出原型中的屬性和方法,可以使用hasOwnProperty方法進行過濾
for(let index in myObject){
  if(myObject.hasOwnProperty(index)){
    console.log(index)
  }
}
//輸出結果為
name,age
//你也可以用Object.keys()方法獲取所有的自身可枚舉屬性組成的數(shù)組。
Object.keys(myObject)

可以看出for in 應用于數(shù)組循環(huán)返回的是數(shù)組的下標和數(shù)組的屬性和原型上的方法和屬性,而for in應用于對象循環(huán)返回的是對象的屬性名和原型中的方法和屬性。

使用for in 也可以遍歷數(shù)組,但是會存在以下問題:

1.index索引為字符串型數(shù)字,不能直接進行幾何運算

2.遍歷順序有可能不是按照實際數(shù)組的內部順序

3.使用for in會遍歷數(shù)組所有的可枚舉屬性,包括原型。例如上栗的原型方法method和name屬性

Object.prototype.sayHello = function(){
  console.log('Hello');
}
var myObject = {
  name:'zhangsan',
  age:10
}
 
for(let key of myObject){
  consoloe.log(key);
}
//輸出結果
//typeError
 
Array.prototype.sayHello = function(){
  console.log("Hello");
}
var myArray = [1,200,3,400,100];
for(let key of myArray){
  console.log(key);
}
//輸出結果
1,200,3,400,100

for in遍歷的是數(shù)組的索引(即鍵名),而for of遍歷的是數(shù)組元素值。 所以for in更適合遍歷對象,不要使用for in遍歷數(shù)組。JavaScript for in 和 for of 的區(qū)別

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • javascript判斷變量是否有值的方法

    javascript判斷變量是否有值的方法

    這篇文章主要介紹了javascript判斷變量是否有值的方法,可實現(xiàn)有效判斷值的功能,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 基于JS實現(xiàn)簡單滑塊拼圖游戲

    基于JS實現(xiàn)簡單滑塊拼圖游戲

    本文通過實例代碼給大家介紹了JS實現(xiàn)簡單滑塊拼圖游戲,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-10-10
  • javascript appendChild,innerHTML,join性能比較代碼

    javascript appendChild,innerHTML,join性能比較代碼

    在實際應用中,應該避免直接用innerHTML,對于大量的字符連接運算,應該考慮先運算再輸出。
    2009-08-08
  • JavaScript自定義Webpack配置實現(xiàn)流程介紹

    JavaScript自定義Webpack配置實現(xiàn)流程介紹

    本系列主要整理前端面試中需要掌握的知識點。本節(jié)介紹webpack如何優(yōu)化前端性能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-10-10
  • JS文本獲得焦點清除文本文字的示例代碼

    JS文本獲得焦點清除文本文字的示例代碼

    本篇文章主要是對JS文本獲得焦點清除文本文字的示例代碼進行介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • TypeScript與JavaScript項目里引入MD5校驗和

    TypeScript與JavaScript項目里引入MD5校驗和

    這篇文章主要介紹了TypeScript與JavaScript項目里引入MD5校驗和,MD5校驗和可以用于驗證網絡文件傳輸?shù)耐暾砸约胺乐刮募蝗舜鄹摹O挛奈覀兙鸵黄饋韺W習TypeScript與JavaScript項目里引入MD5校驗和_MD5校驗,需要的朋友可以參考一下
    2022-02-02
  • 按鈕JS復制文本框和表格的代碼

    按鈕JS復制文本框和表格的代碼

    有時候我們需要復制一個框的內容或者整個表格,一般的操作很可能造成一些不方便,一是操作步驟較為復制,一是復制表格的時候容易復制不完整或者格式出錯。
    2011-04-04
  • 純js模擬div層彈性運動的方法

    純js模擬div層彈性運動的方法

    這篇文章主要介紹了純js模擬div層彈性運動的方法,涉及javascript操作div層實現(xiàn)運動的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • js實現(xiàn)一個鏈接打開兩個鏈接地址的方法

    js實現(xiàn)一個鏈接打開兩個鏈接地址的方法

    這篇文章主要介紹了js實現(xiàn)一個鏈接打開兩個鏈接地址的方法,可實現(xiàn)連續(xù)打開兩個鏈接的功能,非常簡單實用的技巧,需要的朋友可以參考下
    2015-05-05
  • Echarts圖例組件的屬性與源代碼

    Echarts圖例組件的屬性與源代碼

    圖例組件展現(xiàn)了不同系列的標記(symbol),顏色和名字,可以通過點擊圖例控制哪些系列不顯示,這篇文章主要給大家介紹了關于Echarts圖例組件的相關資料,需要的朋友可以參考下
    2021-06-06

最新評論

北辰区| 瓦房店市| 忻州市| 尤溪县| 芒康县| 维西| 米林县| 莱芜市| 兰西县| 年辖:市辖区| 上思县| 上高县| 新邵县| 元氏县| 错那县| 肥东县| 定远县| 银川市| 鱼台县| 德清县| 黔东| 布拖县| 新建县| 湟中县| 桐梓县| 满洲里市| 六盘水市| 霍邱县| 萨嘎县| 壶关县| 廉江市| 湟源县| 蕲春县| 宝兴县| 西藏| 调兵山市| 宜君县| 金秀| 灌南县| 绥阳县| 留坝县|