![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
文章平均质量分 85
js概念的讲解
凡天宁
这个作者很懒,什么都没留下…
展开
-
【js】闭包及其内存保存简单易懂的介绍
注意,这里不需要像嵌套函数一样手动删除引用,因为这里的闭包函数并没有(通过return)暴露给外界去引用。在这种情况下,outerFunc占用内存的时间 = closureExample占用内存的时间,而不是在outerFunction();闭包通常是在嵌套函数中实现的(但并不是只有返回一个小函数的大函数能造成闭包!局部活动对象(包含所有挂在这个活动对象下的变量,也就是函数内的变量)被销毁。闭包 = 形成闭包的函数 + 被引用的(裁剪过的)作用域。闭包内的变量不会自动销毁,会被“一直”保存在内存中。原创 2024-03-14 19:30:57 · 348 阅读 · 0 评论 -
js中Promise的易懂的介绍
不管是从pending变resolve还是reject,这个Promise实例都“settle”了。不像好多别的教材都在把Promise类、Promise实例、Promise的构造函数、Promise的init函数混成一个东西说。Promise的构造函数接受一个 回调函数(一般称为executor)作为参数,来构建一个Promise实例。可以通过 它的构造函数 来新建一个Promise实例。执行顺序为:promiseA -> promiseB。这个泛型类型是Promise实例的“返回值”的类型。原创 2024-03-11 17:18:21 · 476 阅读 · 0 评论 -
js中async与await易懂的介绍(含对执行栈和消息队列的简单介绍)
只有当执行栈为空时,事件循环(Event Loop)才会检查消息队列,并将其中的任务移至执行栈中执行。当执行栈为空时,事件循环会从消息队列中取出一个任务,将其添加到执行栈中执行。当函数执行完毕时,其对应的执行上下文会从执行栈中弹出,控制权回到上一个执行上下文中。它会持续地监测执行栈的状态,当执行栈为空时,会检查消息队列中是否有待执行的任务。通过事件循环,JavaScript 引擎实现了异步任务的执行,保证了程序在等待异步操作完成时,能够继续执行其他任务,提高了整个程序的性能和响应速度。原创 2024-03-11 20:19:55 · 933 阅读 · 0 评论