首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
优化
订阅
webgzh907247189
更多收藏集
微信扫码分享
微信
新浪微博
QQ
20篇文章 · 0订阅
「前端进阶」JS中的栈内存堆内存
JS的内存空间分为栈(stack)、堆(heap)、池(一般也会归类为栈中)。 其中栈存放变量,堆存放复杂对象,池存放常量,所以也叫常量池。 栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端称为栈顶。 栈被称为是一种后入先出(LIFO,last-in-first-o…
通过定时器、时间分片、Web Worker优化长任务
js 是单线程语言,它的作用主要用于操作DOM。 js执行也非常简单(从上往下执行),但 js 里也有异步方法,比如 xhr 、 setTimeout 等等。 setTimeout 的作用是:将当前任务推入任务队列,当主线程同步的代码执行完成后判断 setTimeout 设置的…
10行代码实现页面无限滚动
由于网页的执行都是单线程的,在JS执行的过程中,页面会呈现阻塞状态。因此,如果JS处理的数据量过大,过程复杂,可能会造成页面的卡顿。传统的数据展现都以分页的形式,但是分页的效果并不好,需要用户手动点击下一页,才能看到更多的内容。有很多网站使用无限分页的模式,即网页视窗到达内容底…
「前端进阶」JS中的内存管理
像C语言这样的底层语言一般都有底层的内存管理接口,比如 malloc()和free()用于分配内存和释放内存。 而对于JavaScript来说,会在创建变量(对象,字符串等)时分配内存,并且在不再使用它们时“自动”释放内存,这个自动释放内存的过程称为垃圾回收。 因为自动垃圾回收…
给项目加一个骨架屏吧
骨架屏可以理解为是当数据还未加载进来前,页面的一个空白版本,一个简单的关键渲染路径。用户会看到一个样式简单,描绘了当前页面的大致框架的骨架屏页面,然后骨架屏中各个占位部分被实际资源完全替换,这个过程中用户会觉得内容正在逐渐加载即将呈现,降低了用户的焦躁情绪,使得加载过程主观上变…
web性能优化监控分析神器【Web Performance Timing API】
想象一下您正在访问我们的W3C网站,如果Web内容在一定时间内没有显示在屏幕上,那么作为用户,也许您只是关闭选项卡,然后转到其他选项。但是,作为开发人员,您可能希望跟踪请求和导航详细信息中的提示,以便找出导致此网页速度下降的原因。 幸运的是,大多数浏览器供应商都愿意公开允许开发…
如何使用 splitChunks 精细控制代码分割
前端小伙伴都知道,为了降低包大小,经常会把依赖的前端模块独立打包,比如把 vue、vue-router 打到一个单独的包 vendor 中。另外,常会将存在多个路由的复杂页面的每个页面都单独打一个包,只有访问某个页面的时候,再去下载该页面的js包,以此来加快首页的渲染。 无论是…
几个非常有意思的javascript知识点总结
1. Observer API Observer是浏览器自带的观察者,它主要提供了Intersection, Mutation, Resize, Performance这四类观察者, 这里笔者重点介绍Intersection Observer. 说简单点就是该api可以异步监听…
【你应该知道的】中间件模式优化复杂业务场景下if-else
在开发业务系统中,经常会用if else、 switch case等判断语句,根据不同逻辑执行对应的逻辑。但是随着业务逻辑越来越复杂,代码会难以扩展和阅读。 假设负责一个售卖手机的电商网站,幸运用户无条件获得200元优惠券, 分别交纳500元定金和200元定金的两轮预定后(订单…
如何编写高质量的函数 -- 敲山震虎篇
一千个读者,有一千个哈姆雷特。 我将会从函数的执行机制、鲁棒性、函数式编程、设计模式等方面,全面阐述如何编写高质量的函数。 如何编写高质量的函数,这是一个很难回答的问题,不同人心中对高质量有自己的看法,这里我将全面的阐述我个人对如何编写高质量函数的一些看法。看法可能不够全面,也…