- 博客(6)
- 收藏
- 关注
原创 深入理解JavaScript作用域链
在《深入理解JavaScript执行上下文栈》这篇文章中,我们已经介绍了执行上下文相关概念:执行上下文分类:全局上下文、函数上下文 全局上下文:执行全局代码时,创建全局上下文。 函数上下文:执行函数时,创建函数上下文。 主要属性:变量对象(Variable object,VO)作用域链(Scope chain)this这一章节我们主要针对执行上下文中的作用域链进...
2018-04-28 18:28:13 3107
原创 面试经典之深浅拷贝与克隆函数
面试中经常会被问到克隆函数的实现,这篇文章我们就介绍一下克隆函数简单实现以及 JavaScript中的深浅拷贝。首先我们先来了解一下JavaScript中的深浅拷贝:数组拷贝为了更全面了解数组的拷贝,希望大家不要吐槽接下来我们举例使用的神奇数组:var source = [1, null, undefined, {name: 'anjou', age: undefined...
2018-04-28 01:07:02 4330
原创 深入理解JavaScript变量对象
在上一篇《深入理解JavaScript执行上下文栈》,我们已经介绍了执行上下文相关概念:执行上下文分类:全局上下文、函数上下文 全局上下文:执行全局代码时,创建全局上下文。 函数上下文:执行函数时,创建函数上下文。 主要属性:变量对象(Variable object,VO)作用域链(Scope chain)this这一章节我们主要针对执行上下文中的变量对象进...
2018-04-24 15:38:29 3328
原创 深入理解JavaScript执行上下文栈
执行顺序在上一篇关于声明提升的文章中我们可以了解到,js执行代码时并不是直观的顺序执行。function a() { console.log('a0')}a() //a1function a() { console.log('a1')}a() //a1这是因为JavaScript并不是一行一行的解析和执行程序,而是一段一段的解析执行。当执行每一段代码...
2018-04-24 00:49:20 3787
原创 深入理解JavaScript声明提升
JavaScript中的变量声明提升我们先来看一段代码console.log(a) //undefinedvar a = 1上面这两行代码不难理解, var定义的变量声明都会被提升至本作用域的顶部。所以上面的两行代码等价于下面的三行代码。var aconsole.log(a)a = 1再来看console.log(a) //报错a = 1前面已经...
2018-04-22 01:09:31 3420 1
原创 面试经典之浏览器渲染流程
由于浏览器的加载、解析、渲染是一个较为复杂的过程,本文将这三部分拆解开来,仅对浏览器渲染部分进行讲解。如有错误,欢迎指正。1.第一阶段:构建DOM树1.进入正题,当网页输入URL时候,浏览器调用相应的资源加载器。2.加载器依赖网页模块建立连接,发起请求并接受回复。3.浏览器接收到各种网页或者资源的数据,其中某些资源可能是同步的也可能是异步的。4.网页被加载给html解释器变为一系列的词语(toke...
2018-04-17 01:26:44 5198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人