首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JS
订阅
狂四郎
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
JavaScript的单线程你真的理解了吗?
众所周知,我们的JavaScript是一门单线程的语言,对的,天王老子来了它也是单线程的,但是你思考过没有,为什么JavaScript可以一边执行定时器一边执行函数,这不是属于并发了吗? 1. 进程与
死磕 36 个 JS 手写题(搞懂后,提升真的大)
作为一个程序员,代码能力毋庸置疑是非常非常重要的,就像现在为什么大厂面试基本都问什么 API 怎么实现可见其重要性。我想说的是居然手写这么重要,那我们就必须掌握它,所以文章标题用了死磕,一点也不过分,也希望不被认为是标题党。 作为一个普通前端,我是真的写不出 Promise A…
7分钟理解JS的节流、防抖及使用场景
据说阿里有一道面试题就是谈谈函数节流和函数防抖。 糟了,这可触碰到我的知识盲区了,好像听也没听过这2个东西,痛定思痛,赶紧学习学习。here we go! 可以看到,我们只要按下键盘,就会触发这次ajax请求。不仅从资源上来说是很浪费的行为,而且实际应用中,用户也是输出完整的字…
浅拷贝与深拷贝
浅拷贝是创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值,如果属性是引用类型,拷贝的就是内存地址 ,所以如果其中一个对象改变了这个地址,就会影响到另一个对象。 深拷贝是将一个对象从内存中完整的拷贝一份出来,从堆内存中开辟一个新…
浏览器重绘(repaint)重排(reflow)与优化[浏览器机制]
很多人都知道要减少浏览器的重排和重绘,但对其中的具体原理以及如何具体操作并不是很了解,当突然提起这个话题的时候,还是会一脸懵逼。希望大家可以耐着性子阅读本文,仔细琢磨,彻底掌握这个知识点! 第四步和第五步是最耗时的部分,这两步合起来,就是我们通常所说的渲染。 网页生成的时候,至…
JavaScript中的垃圾回收和内存泄漏
程序的运行需要内存。只要程序提出要求,操作系统或者运行时就必须供给内存。所谓的内存泄漏简单来说是不再用到的内存,没有及时释放。为了更好避免内存泄漏,我们先介绍Javascript垃圾回收机制。 在C与C++等语言中,开发人员可以直接控制内存的申请和回收。但是在Java、C#、J…
彻底弄懂节流和防抖
这两个东西,你肯定听过,就是两种优化浏览器性能的手段。相关文章你肯定也看过,如果还是不太清楚,没关系,看完这篇短文,相信你能轻松理解其中差别。 虽然是个笑话,却很好地说明了防抖的定义:给一个固定时间,如果你开始触发动作,并且在这个固定时间内不再有任何动作,我就执行一次,否则我每…
面试官:说说作用域和闭包吧
虽然 javascript 被认为是一门解释型语言/动态语言,但是它其实是一种编译型的语言。一般来说,需要运行一段 javascript 代码,有两个必不可少的东西:JS 引擎 和 编译器。前者类似于总管的角色,负责整个程序运行时所需的各种资源的调度;后者只是前者的一部分,负责…
面试官:说说执行上下文吧
当 JS 引擎解析到可执行代码片段(通常是函数调用阶段)的时候,就会先做一些执行前的准备工作,这个 “准备工作”,就叫做 "执行上下文(execution context 简称 EC)" 或者也可以叫做执行环境。 全局执行上下文——这是默认或者说是最基础的执行上下文,一个程序中…
this、apply、call、bind
这又是一个面试经典问题~/(ㄒoㄒ)/~~也是 ES5中众多坑中的一个,在 ES6 中可能会极大避免 this 产生的错误,但是为了一些老代码的维护,最好还是了解一下 this 的指向和 call、apply、bind 三者的区别。 在 ES5 中,其实 this 的指向,始终…