or...of 和 for...in 是 JavaScript 中的两种循环语句。
for...of 循环遍历可迭代对象(例如数组)的值。
for...in 循环遍历对象的属性。
因此,for...of 适用于遍历数组中的值,而 for...in 适用于遍历对象的属性。
在使用 for...of 和 for...in 循环时,可以使用 break 和 continue 语句来控制循环的流程。
在使用 for...in 循环时,应注意遍历的是对象的所有可枚举属性,包括它的继承链中的属性。因此,如果对象继承了一些不希望遍历的属性,可以使用 hasOwnProperty 方法来检查该属性是否为对象本身的属性:
for...in 循环的迭代顺序是不确定的,因此如果希望按照特定顺序遍历对象的属性,可以使用 Object.keys 方法将对象的属性名组成的数组传递给 for...of 循环。
什么是同步异步
在 JavaScript 中,同步和异步指的是程序的执行方式。
JavaScript 是单线程语言,意味着它只能在一个时间点上执行一个任务。如果遇到耗时较长或涉及网络通信的任务,如果使用同步方式执行,程序就会停止执行,直到任务完成,这显然不是理想的方案。
因此,JavaScript 中的异步编程就应运而生。异步编程的核心思想是使用回调函数或事件机制,将耗时较长的任务交给浏览器或系统执行,JavaScript 程序在等待任务完成时继续执行,在任务完成时调用回调函数或触发事件通知程序进行下一步操作。
例如,在 JavaScript 中使用 XMLHttpRequest 对象发送网络请求时,可以设置回调函数或事件处理器来处理服务器响应,这样 JavaScript 程序就可以在等待服务器响应时继续执行,在服务器响应到达时再调用回调函数或触发事件进行处理。
常见的异步方式:
①定时器,setTimeout,setInterval
②接口调用,axios.get() , axios.post(), axios({}),node中的 readFile(),writeFile()
③事件函数, dom.addEventLister("click",function(){}