js循环for、for...in、for...of、forEach 使用场景及优缺点

简介: js循环for、for...in、for...of、forEach 使用场景及优缺点
  • 普通循环 for 循环,自行指定循环次数
for(i = 0; i < loopTimes; i++) {
    console.log(i)
}
  • for...in 循环

      用于遍历对象的属性(数组的索引值也算属性), 但有一个缺点,如果手动向数组添加成员属性,则:虽然数组的length 不变,但用 for....in 遍历数组会遍历到那些新定义的属性

for (property in obj) {
    console.log(property,obj[property]);
}
  • for....of循环(ES6)

for...of 循环修复了for...in存在的问题,他只遍历属于对象本身的属性值。且这个对象必须是 iterable 可被迭代的。如Array、Map、Set。

for (element of iterable) {
    console.log(element);
}
  • forEach(callbackFn , ?thisArg)方法(ES5.1)

iterable 可被迭代的对象都是有 forEach(callbackEn,?thisArg),而Array,Map,Set 对象都是可被迭代的。forEach()接受一个回调函数 callbackFn,每次迭代都回调该函数。

回调函数的参数列表为(value,key,iterable),依次是(值,键,可迭代的对象本身)。

iterable.forEach(function(value, key, iterable) {
    console.log(key, value, iterable);
}


目录
相关文章
|
23天前
|
JavaScript 前端开发 索引
问js的forEach和map的区别
JavaScript中的`forEach`和`map`都是数组迭代方法。`forEach`遍历数组但不修改原数组,无返回值;它接受回调函数处理元素。`map`则遍历数组并返回新数组,新数组元素为回调函数处理后的结果。两者都接收元素、索引和数组作为回调函数参数。
21 7
|
25天前
|
JavaScript
在循环内错误使用函数定义(js的问题)
在循环内错误使用函数定义(js的问题)
11 0
|
26天前
|
JavaScript
JS使用循环求100内奇数之和
JS使用循环求100内奇数之和
16 1
|
6天前
|
JavaScript 索引
JS 几种循环遍历
JS 几种循环遍历
8 0
JS 几种循环遍历
|
1月前
|
开发框架 JavaScript 前端开发
描述JavaScript事件循环机制,并举例说明在游戏循环更新中的应用。
JavaScript的事件循环机制是单线程处理异步操作的关键,由调用栈、事件队列和Web APIs构成。调用栈执行函数,遇到异步操作时交给Web APIs,完成后回调函数进入事件队列。当调用栈空时,事件循环取队列中的任务执行。在游戏开发中,事件循环驱动游戏循环更新,包括输入处理、逻辑更新和渲染。示例代码展示了如何模拟游戏循环,实际开发中常用框架提供更高级别的抽象。
14 1
|
1月前
|
JavaScript 前端开发 API
JavaScript循环遍历常用的7种方法以及常用的数组 API
JavaScript循环遍历常用的7种方法以及常用的数组 API
35 0
|
1月前
|
JavaScript
js循环的几种方法
js循环的几种方法
15 2
|
1月前
|
JavaScript 前端开发
vue.js中v-show,v-if的区别,以及使用场景
vue.js中v-show,v-if的区别,以及使用场景
22 0
|
1月前
|
JavaScript 前端开发
javascript中的循环
javascript中的循环
|
2月前
|
存储 缓存 JavaScript
解密迭代艺术:精通JavaScript中的for循环技巧
解密迭代艺术:精通JavaScript中的for循环技巧
27 0