在JavaScript中,for...in和for...of是两种不同的循环结构,用途和适用场景有明显区别: 1.for...in循环 用途:遍历对象的可枚举属性(包括自身属性和继承的属性)。 适用对象:普通对象(Object)。 特点: 返回对象的键名(key)。 可能遍历到原型链上的属性(需用hasOwnProperty过滤)。 不保证遍历顺序(尤其是数字键
for-of和for-in的主要区别在于它们适用的对象、返回的内容以及遍历的方式。for-in用于遍历对象的可枚举属性(包括原型链上的属性
迭代对象不同: for-in:主要用于遍历对象的可枚举属性(包括其原型链上的属性,除非对象自身和原型链的某个属性都是不可枚举的),其基本语法是for (variable in object) {statement}。这里的variable会依次被赋值为object对象的可枚举属性名。 for-of:主要用于遍历可迭代对象(如 Array,Map,Set,String,TypedArray,argum...
另外一个区别是, for..in 可以用在任何对象上,用来检查对象的属性。for..of 则主要关心可迭代对象的值,内置的对象如 Map, Set 实现了 Symbol.iterator 属性可以被访问到值。let pets = new Set(['cat','dog','hamster']);pets['specials'] = 'mammals';for(let pet in pets) { console.log(pet...
用途不同: for…in循环用于遍历对象的属性。 for…of循环用于遍历可迭代对象(如数组,字符串,Set,Map等)的值。 遍历的内容不同: for…in会遍历对象所有的可枚举属性,包括原型链上的属性。 for…of遍历的是可迭代对象的实际值,不包括原型链上的值。 循环控制不同: for…in循环使用对象的属性名作为循环变量的值...
简介:for in 和 for of的区别 1、for in 1.一般用于遍历对象的可枚举属性。以及对象从构造函数原型中继承的属性。对于每个不同的属性,语句都会被执行。 2.不建议使用 for in 遍历数组,因为输出的顺序是不固定的。 3.如果迭代的对象的变量值是 null 或者 undefined, for in 不执行循环体,建议在使用 for in...
"for in of" 是两个不同的用法:1. "for" 的用法:- "for" 可以用于表示时间、目的、原因、代替等等。例如:- "I will be on vacation for two weeks." (我将休假两周。)- "He gave me a present for my birthday." (他给了我一份生日礼物。)- "She apologized for being late." (她为...
在JavaScript中,`for in` 和 `for of` 是两种遍历数据结构的方法,但它们在使用场景上有所不同。单独讨论 `for in`,它主要针对普通对象进行遍历,可能以随机顺序访问其属性。然而,它不适用于数组的遍历。相比之下,`for of` 特别设计用于遍历可迭代对象,如数组或集合,能够按照对象的自然顺序遍历...
for-in和for-of是JavaScript中用于遍历数组和对象的两种常见循环结构。for-in用于遍历对象的属性,可以获取到对象的键名和键值对。它适用于对象,不适用于数组。for-in会直接枚举对象的所有可枚举属性,包括不可枚举的属性。for-of则是专门为遍历数组设计的,它不仅可以获取到数组的元素,还可以获取到元素...
for of 特点 for of 循环用来获取一对键值对中的值,而 for in 获取的是 键名 一个数据结构只要部署了 Symbol.iterator 属性, 就被视为具有 iterator接口, 就可以使用 for of循环。 例1这个对象,没有 Symbol.iterator这个属性,所以使用 for of会报 obj is not iterable for of 不同与 forEach, 它可以与...