for in 和 for of 的对比
for in 和 for of 的对比
fon in
和 for of
最大的区别就是:一个是对键名 key
的遍历,一个是对键值 value
的遍历
使用 for in
也能遍历数组,但会存在一些问题:
index
索引为字符串型数字,不能直接进行几何运算- 和遍历顺序对象的行为一样,使用
for in
会遍历数组所有可枚举的属性,所以原型对象上的方法和属性也会被遍历 - 遍历的顺序可能不是按照实际数组的内部顺序
// 所以遍历出来的索引是"0"、"1"这种形式的
// meMethod 这个原型对象上的属性也会被遍历出来
// 出来的顺序也不一定是原先书写的顺序
let arr = [1, 2, 3];
Array.prototype.myMethod = function () {console.log(this.length);
};
而 for of
专注于遍历的 value
值的同时,不会发生原型对象,和对象本身的属性被遍历出来的问题。同样是上面的例子,它不会出现 myMethod
这个属性值
最后,两个无关谁更好用,每个方法都有对应的场景,看谁更适合。结合上面的利弊分析,结论是:
遍历对象使用
for in
,遍历数组使用for of
更加合适
这是一些比较初步的分析,如果大家有更加详细的点,欢迎留言补充哦!
for in 和 for of 的对比相关推荐
- 不同编程语言之间的具体实现对比
不同语言之间的具体实现对比 官网地址:https://programming-idioms.org/ 这个网站的核心存储部分代码是开源的,使用 Go 语言实现.源码地址: https://github ...
- 正向最大匹配 和逆向最大匹配对比比较
正向最大匹配法 &逆向最大匹配法 原理对比 下面介绍的分词算法中最简单的正向最大匹配和反向最大匹配. 这种两种方法都是机械分词方法,它是按照一定的策略将待分析的汉字串与一个"充分大的 ...
- JDBC与数据库连接工具对比分析
JDBC 使用步骤: 注册数据库驱动 通过DriverManager获取数据库连接 通过Connection对象获取Statement对象 使用Statement执行SQL语句 操作ResultSet ...
- GeforceRTX系列参数对比
GeforceRTX系列参数对比
- YOLO、SSD、FPN、Mask-RCNN检测模型对比
YOLO.SSD.FPN.Mask-RCNN检测模型对比 一.YOLO(you only look once) YOLO 属于回归系列的目标检测方法,与滑窗和后续区域划分的检测方法不同,他把检测任务当 ...
- RCNN系列、Fast-RCNN、Faster-RCNN、R-FCN检测模型对比
RCNN系列.Fast-RCNN.Faster-RCNN.R-FCN检测模型对比 一.RCNN 问题一:速度 经典的目标检测算法使用滑动窗法依次判断所有可能的区域.本文则预先提取一系列较可能是物体的候 ...
- TCP/UDP对比总结
在计算机网络中,有三种体系结构划分方式,第一种是OSI七层协议体系结构,由上到下分别是:应用层,表示层,会话层,运输层,网络层,数据链路层,物理层:第二种是TCP/IP四层协议,由上到下分别是:应用层 ...
- XML和JSON数据格式对比
概念 XML 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语 ...
- 对比两个同类型的泛型集合并返回差异泛型集合 ——两个List类名的比较
1: /// <summary> 2: /// 对比两个同类型的泛型集合并返回差异泛型集合 3: /// </summary> 4: /// <typeparam nam ...
- 《OpenCV3编程入门》学习笔记9 直方图与匹配(三)直方图对比
9.3 直方图对比 9.3.1 对比直方图:compareHist()函数 1.作用: 比较两幅直方图 2.函数原型: (1)double compareHist(InputArray H1,In ...
最新文章
- 解决 win10 pycurl安装出错 Command python setup.py egg_info failed with error code 10 编译安装包 安装万金油...
- 技术图文:进一步完善自动化交易系统 - 03
- vscode for mac怎样关闭自动更新
- python3所支持的整数进制_Python3快速入门(三)——Python3标准数据类型
- jquery的一次点击实现
- 2048源码 linux,分享|2 的威力,Linux 的威力:终端中的 2048
- java访问控制关键字_Java 访问控制关键字
- vs 2017插件visual assist 10.9.2238破解版安装指南及百度云链接
- Nsight Visual Studio Edition初学使用方法
- Linux下mysql数据恢复
- flashtool线刷工具
- C# 通过api 下载sharepoint中的文件
- java speex回声消除_android – Speex回音消除配置
- Dynamics CRM 2013学习伊始
- RedHat认证笔记-RH124
- VulnHub1:Jangow: 1.0.1靶机入侵
- 金融工程---马尔科夫预测
- [图文]历届奥斯卡影后(上)
- C语言中+=的含义你明白吗?
- 39、基于51单片机声控光控灯人体感应路灯照明灯系统设计