上面的代码遍历了 obj 对象的所有属性,并输出了属性名称。需要注意的是,for...in 循环不保证属性遍历的顺序是固定的,所以不能在遍历对象的时候依赖属性遍历的顺序。另外,for...in 循环还有一个重要的用途,就是遍历对象的原型链上的属性。function Person() { this.name = 'Tom'; } Person.prototype.age = ...
所以一般不建议使用for...in来遍历数组。 for...of for...of语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句。 代码语言:txt 复制 const array = ['a', 'b', 'c']; for (const element of array) { ...
总的来说,for...of循环是一个方便且直观的工具,用于遍历各种可迭代对象的元素。然而,需要注意的是,它不能用于普通对象的遍历,因为普通对象不是可迭代的。如果需要遍历对象的属性,推荐使用for...in循环或其他遍历对象属性的方法。 嵌套循环 嵌套循环是指在一个循环体内包含另一个循环体。它常常用于处理多维数组和...
使用for..in循环时,返回的是所有能够通过对象访问的、可枚举的属性,既包括存在于实例中的属性,也包括存在于原型中的实例。这里需要注意的是使用for-in返回的属性因各个浏览器厂商遵循的标准不一致导致对象属性遍历的顺序有可能不是当初构建时的顺序。 遍历数组 虽然for..in主要用于遍历对象的属性,但同样也可以用来遍...
for (let i in nums) { console.log(typeof nums[i] + nums[i]); } 1. 2. 3. 4. 5. 6. 7. 8. 9. 两种不同的循环都可以对数组进行遍历,并且它们遍历的结果也都是一样的 2.对对象的遍历 // 通过两种循环遍历对象 let obj = {
for-in 循环遍历的是对象的属性,而不是数组的索引。因此, for-in 遍历的对象便不局限于数组,还可以遍历对象。例子如下:const person = { fname: "san", lname: "zhang", age: 99};let info;for(info in person) {console.log("person[" + info + "] = " + person[info]);} 结果如下:per...
所以for-in更适合遍历对象,通常是建议不要使用for-in遍历数组。 for-of for-of可以简单、正确地遍历数组(不遍历原型method和name)。 varmyArray = [1, 2, 4, 5, 6, 7]; myArray.name= "数组"; myArray.getName=function() {returnthis.name; }for(varvalue of myArray) { ...
普通for循环遍历 定义一个数组: 使用普通for循环遍历 可用于遍历数组 foreach遍历 遍历代码如下 这种结构更加简洁,但无法使用break等语句跳出遍历, 直到所有元素都传递给调用的函数, 但是可以使用抛出异常, 提前终止循环 for in 遍历 代码如下 这种遍历方式可以用于遍历对象,获取对象的key值,遍历数组时获取的是对应元素...
key:对象的属性名。 object:被遍历的对象。 需要注意的是,for...in 循环不仅遍历对象自身的属性,还会遍历继承的属性,因此在遍历对象时,通常需要使用 hasOwnProperty 方法来过滤掉继承的属性。 示例: 复制 // 使用 for...in 循环遍历对象的属性 let person = { ...
之前只知道有for in循环,不清楚in运算符。for in 和 in 遍历对象在原型上增加的属性也会遍历出来。 in运算符的规则:对运算符左右两个操作数的要求比较严格。in运算符要求第1个(左边的)操作数必须是字符串类型或可以转换为字符串类型的其他类型,而第2个(右边的)操作数必须是数组、对象或者new生成的对象。只有第...