首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JS基础
订阅
小小小前端
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
V8 引擎垃圾回收与内存分配
工欲善其事,必先利其器,本文之器非器具之器,乃容器也,言归正传,作为一个前端打工人,左手刚 const 定义常量,忠贞不二,转头就 new 几个对象,玩的火热,真是个优秀的 jser,风骚的操作背后,必有日夜不辍的 QWER,外加一个走 A,废话不多说,浏览器内核是啥玩意?还不…
JS引擎、运行时与调用栈概述
几乎所有人都已经听说了V8引擎的概念,大多数人都知道JavaScript是单线程运行的或者说是使用回调队列的。 接下来,我们将详细的讲述这些概念,解释JavaScript到底是怎样运行的。当知道了这些细节后,你就能合理利用已有的API写出更好的,非阻塞的应用。 如果你是Java…
async/await 原理及执行顺序分析
之前写了篇文《这一次,彻底理解Promise原理》,剖析了Promise的相关原理,反应不错,这次把学习到的相关的知识也写下。 我们都知道,Promise解决了回调地狱的问题,但是如果遇到复杂的业务,代码里面会包含大量的 then 函数,使得代码依然不是太容易阅读。 基于这个原…
JS手写状态管理的实现
当前的项目多数以组件化开发,状态管理库使得组件间状态管理变得非常方便。 1. 订阅发布模块 这个模块实际上是观察者模式,是一种一对多的依赖关系,当对象的某种状态发生改变,所有依赖它的对象都将得到通知,触发已经注册的事件. 2. 核心LibStore类 核心LibStore类需要…
性能优化篇 - js事件循环机制(event loop)
之前在做前端的时候,可能注重的东西更偏向于业务层面的东西,切图、实现交互、调用接口等一系列比较浅的技术层,随着前端技术的不断发展,只掌握这些知识是不够的,要学会去了解如何从一个网址,渲染出来一个页面,在到后来可以让你看到你想看到的东西,并去操作它,了解浏览器底层的一些渲染机制,…
从event loop到async await来了解事件循环机制
最初设计JS是用来在浏览器验证表单操控DOM元素的是一门脚本语言,如果js是多线程的那么两个线程同时对一个DOM元素进行了相互冲突的操作,那么浏览器的解析器是无法执行的。 如果JS中不存在异步,只能自上而下执行,如果上一行解析时间很长,那么下面的代码就会被阻塞。对于用户而言,阻…
V8引擎简介
上一篇(JS引擎、运行时与调用栈概述)主要讲了JS引擎、运行时与调用栈的概述。本篇文章将会深入到谷歌V8 JavaScript引擎的内核部分。我们也会提供一些怎样写出更好的JavaScript代码的建议。 一个JavaScript引擎是执行JavaScript代码的一个程序或者…
这一次,彻底弄懂 Promise 原理
Promise 必须为以下三种状态之一:等待态(Pending)、执行态(Fulfilled)和拒绝态(Rejected)。一旦Promise 被 resolve 或 reject,不能再迁移至其他任何状态(即状态 immutable)。 Promise里的关键是要保证,the…
带你了解JavaScript的运行机制—Event Loop
JS 是单线程的。 首先,众所周知,JS 是单线程的,为什么这种低效的运行方式依旧没有被淘汰那?这是由它的用途决定的;JS 主要用途是用户交互和DOM操作,举例来说假如js同时有两线程,一个线程在某个DOM节点上添加内容,另一个线程却删除了这个节点,这时候浏览器就不知所措了,该…
[译] 通过垃圾回收机制理解 JavaScript 内存管理
内存管理的主要目标是在需要的时候为系统动态地分配内存,然后释放那些不再使用的对象的内存。像 C 和 C++ 这样的语言有基本的内存分配函数,如 malloc(),而一些高级语言计算机体系结构(如 JavaScript)包含垃圾回收器来完成这项工作。它跟踪内存分配并识别这些分配的…