首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
前端进阶系列
订阅
逐梦之路
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
【进阶3-1期】JavaScript深入之史上最全--5种this绑定全面解析
this的绑定规则总共有下面5种。 调用位置就是函数在代码中被调用的位置(而不是声明的位置)。 设置断点或者插入debugger;语句,运行时调试器会在那个位置暂停,同时展示当前位置的函数调用列表,这就是调用栈。找到栈中的第二个元素,这就是真正的调用位置。 独立函数调用,可以把…
【进阶2-3期】JavaScript深入之闭包面试题解
本期的主题是作用域闭包,本计划一共28期,每期重点攻克一个面试重难点,如果你还不了解本进阶计划,文末点击查看全部文章。 作用域指的是一个变量和函数的作用范围,JS中函数内声明的所有变量在函数体内始终是可见的,在ES6前有全局作用域和局部作用域,但是没有块级作用域(catch只在…
【进阶2-2期】JavaScript深入之从作用域链理解闭包
本期的主题是作用域闭包,本计划一共28期,每期重点攻克一个面试重难点,如果你还不了解本进阶计划,文末点击查看全部文章。 MDN 对闭包的定义为:闭包是指那些能够访问自由变量的函数。 其中自由变量,指在函数中使用的,但既不是函数参数arguments也不是函数的局部变量的变量,其…
【进阶1-5期】JavaScript深入之4类常见内存泄漏及如何避免
本期的主题是调用堆栈,本计划一共28期,每期重点攻克一个面试重难点,如果你还不了解本进阶计划,文末点击查看全部文章。 上篇文章详细介绍了内存回收和内存泄漏,今天我们继续这个篇幅,不过重点是内存泄漏可能发生的原因。 1、垃圾回收器创建了一个“roots”列表。roots 通常是代…
【进阶1-4期】JavaScript深入之带你走进内存机制
本期的主题是调用堆栈,本计划一共28期,每期重点攻克一个面试重难点,如果你还不了解本进阶计划,文末点击查看全部文章。 JS内存空间分为栈(stack)、堆(heap)、池(一般也会归类为栈中)。 其中栈存放变量,堆存放复杂对象,池存放常量,所以也叫常量池。 今日补充一个知识点,…
【进阶1-1期】理解JavaScript 中的执行上下文和执行栈
本期的主题是调用堆栈,本计划一共28期,每期重点攻克一个面试重难点,如果你还不了解本进阶计划,文末点击查看全部文章。 执行上下文是当前 JavaScript 代码被解析和执行时所在环境的抽象概念。 全局执行上下文:只有一个,浏览器中的全局对象就是 window 对象,this …
【进阶1-2期】JavaScript深入之执行上下文栈和变量对象
本期的主题是调用堆栈,本计划一共28期,每期重点攻克一个面试重难点,如果你还不了解本进阶计划,文末点击查看全部文章。 JS是单线程的语言,执行顺序肯定是顺序执行,但是JS 引擎并不是一行一行地分析和执行程序,而是一段一段地分析执行,会先进行编译阶段然后才是执行阶段。 上面三个例…
【进阶4-1期】详细解析赋值、浅拷贝和深拷贝的区别
对基本类型进行赋值操作,两个变量互不影响。 对引用类型进行赋址操作,两个变量指向同一个对象,改变变量 a 之后会影响变量 b,哪怕改变的只是对象 a 中的基本类型数据。 通常在开发中并不希望改变变量 a 之后会影响到变量 b,这时就需要用到浅拷贝和深拷贝。 创建一个新对象,这个…
【进阶2-1期】深入浅出图解作用域链和闭包
本期的主题是作用域闭包,本计划一共28期,每期重点攻克一个面试重难点,如果你还不了解本进阶计划,文末点击查看全部文章。 Javascript中有一个执行上下文(execution context)的概念,它定义了变量或函数有权访问的其它数据,决定了他们各自的行为。每个执行环境都…
【进阶3-3期】深度解析 call 和 apply 原理、使用场景及实现
之前文章详细介绍了 this 的使用,不了解的查看【进阶3-1期】。 当第二个数组(如示例中的 moreVegs )太大时不要使用这个方法来合并数组,因为一个函数能够接受的参数个数是有限制的。不同的引擎有不同的限制,JS核心限制在 65535,有些引擎会抛出异常,有些不抛出异常…