1,for in是ES5的语法标准,而for of则是ES6语法标准。 constarr1 = ['Eula','Umbra','Kaya']for(letiinarr1){console.log(i)// '0', '1', '2'}// 对比for(letiofarr1){console.log(i)// Eula, Umbra, Kaya} 通过上述代码我们可以发现for in遍历的是下标,而for of遍历的是属性值;而且for in...
for…of:通常性能比for…in更好,因为它不需要遍历原型链上的属性。 示例代码演示两者的不同用法: // for...of 遍历数组constarr = [1,2,3,4];for(constelementofarr) {console.log(element);// 输出数组的每个元素}// for...in 遍历对象的属性constobj = {a:1,b:2,c:3};for(constkeyinobj) ...
用途不同: for…in循环用于遍历对象的属性。 for…of循环用于遍历可迭代对象(如数组,字符串,Set,Map等)的值。 遍历的内容不同: for…in会遍历对象所有的可枚举属性,包括原型链上的属性。 for…of遍历的是可迭代对象的实际值,不包括原型链上的值。 循环控制不同: for…in循环使用对象的属性名作为循环变量的值...
JavaScript for-in和for-of的不同点 不同点 1、for-in语句按原始插入顺序迭代对象的可枚举属性。for-in将继承链中的所有对象属性重复,因此需要更多的时间。 2、for-of语句只经历可迭代对象的数据。 使用实例 for-in: 代码语言:javascript 复制 varobj={name:'test',color:'red',day:'sunday',number:5}for...
1、for in * 1. 一般用于遍历对象的可枚举属性。以及对象从构造函数原型中继承的属性。对于每个不同的属性,语句都会被执行。 * 2. 不建议使用 for in 遍历数组,因为输出的顺序是不固定的。 * 3. 如果迭代的对象的变量值是 null 或者 undefined, for in 不执行循环体,建议在使用 for in 循环之前,先检查该...
在javascript中,for in是ES5标准,遍历key. for of是ES6标准,遍历value.本文从Array,Object和string三个维度来讲解 for...in和for...of的区别。 Array 1,使用for-in可以遍历数组,但是会存在以下问题: .index索引为字符串型数字(注意,非数字),不能直接进行几何运算。
log(s1[prop]); //1 2 3 } for (let prop of s1) { console.log(prop); //报错如下 Uncaught TypeError: s1 is not iterable } for (let prop of Object.keys(s1)) { console.log(prop); // a b c console.log(s1[prop]); //1 2 3 } [js] 19.for in 和 for of · Issue #...
jsfor...in和for...of的区别 ⾸先,for-in是ES5标准,遍历的是key(可遍历对象、数组或字符串的key);for-of是ES6标准,遍历的是value(可遍历对象、数组或字符串的value)。for...in 循环 for...in 语句⽤于遍历数组或者对象的属性(对数组或者对象的属性进⾏循环操作)。for ... in 循环中的...
for (const key in me_obj) { console.log(key); // name, age } 1. 2. 3. hobby 被设置为了不可枚举的属性,不会被遍历 for of 用于遍历可迭代数据,如字符串、数组、类数组、Set、Map 判断数据是否可迭代 通过使用 Symbol.iterator属性来判断一个数据是否是可迭代的 ...
JS: for...in和for...of的区别(四颗星) 1.for in ES3中的for...in 语句以任意顺序迭代一个对象的除Symbol以外的可枚举属性,包括继承的可枚举属性。 for ... in是为遍历对象属性而构建的,不建议与数组一起使用,数组可以用Array.prototype.forEach()和for ... of,那么for ... in的到底有什么用呢?