首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
进阶
订阅
sanghuang
更多收藏集
微信扫码分享
微信
新浪微博
QQ
21篇文章 · 0订阅
为何你始终理解不了JavaScript作用域链?
掘金上关于作用域和作用域链的讨论非常多,但少有人来讲清楚JS中相关的机制,这里我就捡一些大佬们看剩的知识,来讲讲理解作用域之前的准备。 想直接看解析的请跳到:2. JavaScript是如何执行的? 1. 理解前的普及:编译原理 把词法单元流数组转换成一个由元素逐级嵌套所组成的…
面试:页面加载海量数据
可能在看到这个问题的第一眼,我们可能会想到这样的解决办法:获取 ul 元素,然后新建 li 元素,并设置好 li 的文本内容和监听器绑定,然后在循环里对 ul 进行 append 操作,即可能想到的是以下代码实现。 实践上述代码,我们发现界面体验很不友好,卡顿感严重。出现卡顿感…
JavaScript 复杂判断的更优雅写法
我们编写js代码时经常遇到复杂逻辑判断的情况,通常大家可以用if/else或者switch来实现多个条件判断,但这样会有个问题,随着逻辑复杂度的增加,代码中的if/else/switch会变得越来越臃肿,越来越看不懂,那么如何更优雅的写判断逻辑,本文带你试一下。 嗯,这样看起来…
解密 JavaScript 执行上下文
首先我们先了解一下什么是执行上下文栈(Execution context stack)。 上面这张图来自于mdn,分别展示了栈、堆和队列,其中栈就是我们所说的执行上下文栈;堆是用于存储对象这种复杂类型,我们复制对象的地址引用就是这个堆内存的地址;队列就是异步队列,用于event…
【进阶3-5期】深度解析 new 原理及模拟实现
ES6新增 symbol 类型,不可以使用 new Symbol(),因为 symbol 是基本数据类型,每个从Symbol()返回的 symbol 值都是唯一的。 一个继承自 Foo.prototype 的新对象被创建。 使用指定的参数调用构造函数 Foo ,并将 this …
【进阶4-2期】Object.assign 原理及其实现
上篇文章介绍了赋值、浅拷贝和深拷贝,其中介绍了很多赋值和浅拷贝的相关知识以及两者区别,限于篇幅只介绍了一种常用深拷贝方案。 本篇文章会先介绍浅拷贝 Object.assign 的实现原理,然后带你手动实现一个浅拷贝,并在文末留下一道面试题,期待你的评论。 上篇文章介绍了其定义和…
【进阶1-1期】理解JavaScript 中的执行上下文和执行栈
本期的主题是调用堆栈,本计划一共28期,每期重点攻克一个面试重难点,如果你还不了解本进阶计划,文末点击查看全部文章。 执行上下文是当前 JavaScript 代码被解析和执行时所在环境的抽象概念。 全局执行上下文:只有一个,浏览器中的全局对象就是 window 对象,this …
AST 与前端工程化实战
AST 是一个非常基础但是同时非常重要的知识点,我们熟知的 TypeScript、babel、webpack、vue-cli 得都是依赖 AST 进行开发的。本文将通过 AST 与前端工程化的实战向大家展示 AST 的强大以及重要性。 第一次看见 AST 这个概念的时候还是在《…
一套比较完整的前端技术选型,需要规整哪些东西,你知道不?
1. 背景及现状 随着前端开发复杂度的日益增加,各种优秀的组件框架也遍地开花。同时,我们面临业务规模的快速发展和工程师团队的不断扩张,如何解决资源整合、模块开发、项目部署、性能优化等问题势在必行。 2. 目标 根据背景和现状的分析,我们现制订一个规范化的前端工作流,很好地规范统…
「前端进阶」彻底弄懂前端路由
现代前端项目多为单页Web应用(SPA),在单页Web应用中路由是其中的重要环节。 每个现代前端框架都有与之对应的路由实现,例如 vue-router、react-router 等。 本文并不涉及 vue-router、react-router 的实现方式,而是介绍前端路由的基…