- 2024-08-13JavaScript 中的宏任务与微任务
JavaScript是一种单线程的编程语言,这意味着在同一时间只能执行一个任务。为了有效地处理并发操作,JavaScript引入了事件循环(EventLoop)机制,其中宏任务(MacroTask)和微任务(MicroTask)在其中扮演着关键角色。1.什么是宏任务和微任务?宏任务(MacroTask)是JavaScript中执行的大
- 2024-08-09Nodejs事件循环小记
执行原理当Node.js启动时,会先初始化EventLoop,然后执行提供的输入脚本(主模块同步代码),过程中可能会产生异步API调用、定时器或调用process.nextTick(),然后开始处理事件循环。Node.js的EventLoop分为6个阶段,会按照顺序反复执行,每当进入某一个阶段的时候,都会从对应
- 2024-08-07定时器为什么最好不要使用 setInterval()?
论题setInterval()会导致导致定时器"重叠"的问题,所以使用setTimeout()。回顾首先先了解一下setInterval()和setTimeout()的基本使用。setTimeout(表达式,毫秒):毫秒数后表达式仅执行一次。setInterval(表达式,毫秒):无限次在毫秒数后执行表达式。一个生产者-临界资源问题
- 2024-08-01事件循环-
事件循环(EventLoop)是JavaScript运行时(例如浏览器或Node.js)的一种机制,用于处理异步编程。它允许非阻塞操作,即使在某些任务需要等待(如网络请求或定时器),JavaScript也可以继续执行其他代码。事件循环的基本概念调用栈(CallStack):JavaScript是一门单线程语言,这意味着它一次只能
- 2024-06-23视野修炼-技术周刊第89期 | 2023 年度 JS 报告
欢迎来到第89期的【视野修炼-技术周刊】,下面是本期的精选内容简介
- 2024-06-18JS答过的笔试题
文章目录答过的笔试题1.写出打印的值1.1变量定义提升1.2箭头函数绑定问题1.3var变量for循环输出问题1.4async异步函数问题1.5setTimeout和async1.6let变量不会绑定到window上2.写出几个vue或react常用的声明周期狗子函数3.写一个递归方法,把数组`[1,2,[3,[4,5],
- 2024-06-18详解setTimeout()
原文链接:https://blog.csdn.net/weixin_44179269/article/details/1134207671,setTimeout()基础setTimeout函数用来指定某个函数或某段代码,在多少毫秒之后执行。它返回一个整数,表示定时器的编号,以后可以用来取消这个定时器。vartimerId=setTimeout(func|code,delay)1上面代
- 2024-06-12前端菜鸡流水账日记 -- setTimeout定时器
中午好哇,一上午的时间过的真快,这都快要吃午饭啦,突击询问有想好吃什么吗???当然,这不是重点,重点是我今天要说的这个定时器,以及和他搭配的取消定时器,话不多说,开始我们的新内容setTimeout都不陌生就是定时器,他可以这样用setTimeout(()=>{dealData.forEach(e=>{if(aw
- 2024-06-03js_202406
关于async/await、promise和setTimeout执行顺序
- 2024-06-03JavaScript 事件循环竟还能这样玩!
JavaScript是一种单线程的编程语言,这意味着它一次只能执行一个任务。为了能够处理异步操作,JavaScript使用了一种称为事件循环(EventLoop)的机制。本文将深入探讨事件循环的工作原理,并展示如何基于这一原理实现一个更为准确的setTimeout、setInterval什么是事件循环?事件循环是
- 2024-05-31前端睡眠函数的用途与实现
主要用途:测试异步代码:在编写测试用例时,特别是涉及异步操作的时候,sleep函数可以帮助我们创建出确定的时间间隔以测试代码的异步性能和行为。模拟网络延迟:在开发过程中,我们可能需要模拟真实的网络环境,包括网络延迟。此时,sleep函数就能派上用场。节流和防抖:在处理一些频
- 2024-05-29事件循环训练题
题目console.log("scriptstart");//宏任务asyncfunctionasyncFunc(){console.log("asyncFuncstart");awaitPromise.resolve();//等待Promise解决console.log("asyncFuncpromiseresolved");}asyncFunc();//调用async函数setTi
- 2024-05-22关于async/await、promise和setTimeout执行顺序
前段时间领导给我们出了一道题,关于async/await、promise和setTimeout的执行顺序,网上查了查资料,这是头条的一道笔试题,记录一下,加深理解。题目如下:asyncfunctionasync1(){console.log('async1start');awaitasync2();console.log('asnyc1end');}asyncfunc
- 2024-05-13setTimeout模拟interval
functionrunTimer(list=[ { delay:2000, text:'第一步延迟2s' }, { delay:3000, text:'第二步延迟3s' }, { delay:1000, text:'第三步延迟1s' }, ],cb=(text)=>{ console.log('渲染回调&
- 2024-05-09为什么要用setTimout来做定时器?
Q:再js中定时任务我们为什么要用setTimeout模拟,而不直接用setIntervalA:以下为详细答案精确控制时间间隔:使用setTimeout可以更精确地控制每次任务执行的时间间隔。因为在任务执行完成之后,我们可以根据需要再次设置下一个任务执行的时间,从而避免了可能因任务执行时间过长而
- 2024-04-13一些奇奇怪怪的js知识
0.关于前端为什么typeofnull得到的结果是object对于null来说,很多人会认为他是个对象类型,其实这是错误的。虽然`typeofnull`会输出`object`,但是这只是JS存在的一个悠久Bug。在JS的最初版本中使用的是32位系统,为了性能考虑使用低位存储变量的类型信息,`000`开头代
- 2024-04-12js 模拟等待(阻塞)
functionsleep(ms){returnnewPromise(resolve=>setTimeout(resolve,ms));}//使用方法asyncfunctionrun(){console.log('开始等待...');awaitsleep(2000);//等待2000毫秒(2秒)console.log('等待结束!');}run();在这个例子中,wait函数返回一个P
- 2024-04-11vue2.x版本中productionTip=false设置无效
引用自:https://www.cnblogs.com/javaxubo/p/17397457.html 首先,我们看到vue官网中关于productionTip的API使用:但是,我在本地中使用却无效,代码如下:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatibl
- 2024-04-07字节笔试
1.实现一个返回Promise的异步函数,能够在1000毫秒后向调用方返回字符串"OK"functionpromiseDemo(){returnnewPromise((resolve)=>{setTimeout(()=>{resolve('OK')},1000)})}promiseDemo().then((res)=>{cons
- 2024-04-06回调地狱--promise与async+await
一、回调地狱首先了解两个概念,什么是回调函数?什么是异步任务?1.1回调函数当一个函数作为参数传入另一个参数中,并且它不会立即执行,只有当满足一定条件后该函数才可以执行,这种函数就称为回调函数。(它是作为参数传递给另一个函数的函数)我们熟悉的定时器和Ajax中就存在有回
- 2024-04-02HTML设置定时执行代码 JavaScript 计时事件
1、https://www.runoob.com/js/js-timing.htmlJavaScript一个设定的时间间隔之后来执行代码我们称之为计时事件JavaScript计时事件通过使用JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。在JavaScript
- 2024-03-27requestAnimationFrame
requestAnimationFrame 是一个用于请求浏览器执行动画的方法。它告诉浏览器您希望执行动画,并请求浏览器在下一次重绘之前调用指定的回调函数来更新动画。相比于使用setTimeout或setInterval来执行动画,requestAnimationFrame具有更好的性能表现。它会根据浏览器的刷新频率来优化
- 2024-03-25BOM:window对象,screen对象,history对象,location对象,弹出框,计时相关
前端基础之BOM和DOMBOM(BrowserObjectModel):之浏览器对象模型,它使JavaScript有能力与浏览器进行'对话'。DOM(DocumentObjectModel):是指文档对象模型,通过它,可以访问HTML文档的所有元素。Window对象所有浏览器都支持window对象,他表示浏览器窗口。如果文档包含框架(fra
- 2024-02-19js定时任务
JS定时任务1.页面上2秒执行一次任务:setInterval(function(){//执行任务},2000);//取消执行clearInterval();2.延时执行:JS都是延时执行的,没有多线程概念,碰到要使用全局变量的时候,要使用递归来实现全局变量数值变化!3.页面上只
- 2024-02-04setTimeout定时,但是退出页面还执行,如何解决
setTimeout定时,但是退出页面还执行,如何解决定时器的使用需记得清清除使用对象变量赋值执行在处理setTimeout定时器时,如果用户在定时器触发之前离开页面,你可以使用clearTimeout方法来清除定时器,以确保定时器不会在页面关闭后继续执行。以下是一个示例,展示如何使用clearTime