JS的执行环境 执行环境(Execution context,EC)或执行上下文,是JS中一个极为重要的概念。 在JavaScript中有三种代码运行环境: Global Code JavaScript代码开始运行的默认环境 Function Code 代码进入一个JavaScript函数 Eval ...
分类:
Web程序 时间:
2018-02-24 21:56:36
阅读次数:
154
前面两篇文章介绍了JavaScript执行上下文中两个重要属性:VO/AO和scope chain。本文就来看看执行上下文中的this。 首先看看下面两个对this的概括: this是执行上下文(Execution Context)的一个重要属性,是一个与执行上下文相关的特殊对象。因此,它可以叫作上 ...
分类:
Web程序 时间:
2018-02-24 21:53:27
阅读次数:
219
此文简要分析一下libco协程的关键原理。 在分析前,先简单过一些协程的概念,以免有新手误读了此篇文章。 协程是用户态执行单元,它的创建,执行,上下文切换,挂起,销毁都是在用户态中完成,对linux系统而言,其实协程和进程(注:在linux系统中,进程是拥有独立地址空间的线程)一样,都是CPU的执行 ...
分类:
其他好文 时间:
2018-02-22 23:49:05
阅读次数:
320
在上文中,我们讨论了事件处理器中对象生命周期的问题,在进入新的讨论之前,首先让我们总结一下,我们已经实现了哪些内容。下面的类图描述了我们已经实现的组件及其之间的关系,貌似系统已经变得越来越复杂了。其中绿色的部分就是上文中新实现的部分,包括一个简单的Event Store,一个事件处理器执行上下文的接... ...
题目 1.说一下对变量提升的理解 2.说明this几种不同的使用场景 3.创建10个<a>标签,点击时弹出对应序号 4.如何理解作用域 5.实际开发中闭包的应用 执行上下文 范围:一段<script>或者一个函数 或者eval代码 全局:变量定义、函数声明 (提前拿出来) 针对一段<script> ...
分类:
其他好文 时间:
2018-02-02 15:39:38
阅读次数:
173
箭头函数不会创建自己的this, 而是使用 __ 封闭执行上下文的this __。 通过 call 或 apply 调用 由于this在词法层面上已经完成了绑定,通过call() 或者 apply()方法调用函数时,只是传入了参数而已,并不会修改this的指向,对this没有影响。 var adde ...
分类:
其他好文 时间:
2018-01-31 11:32:58
阅读次数:
183
如果要问到 javascript 代码执行顺序的话,想必写过javascript的开发者都会有个直观的印象,那就是顺序执行,例如: 然而去看这段代码: 打印的结果却是两个 foo2 刷过面试题的都知道这是因为javascript引擎并非一行一行的分析和执行程序,而是一段一段的分析执行。 当执行一段代 ...
分类:
编程语言 时间:
2018-01-29 11:43:02
阅读次数:
274
传统上基于进程或线程模型架构的web服务通过每进程或每线程处理并发请求,这势必会在网络和I/O操作时产生阻塞,其另一个必然结果则是对内存或CPU的利用率低下。生成一个新的进程/线程需要事先备好其运行时环境,这包括为其分配堆内存和栈内存,以及为其创建新的执行上下文等。这些操作都需要占用CPU,而且过多的进程/线程还会带来线程抖动或频繁的上下文切换
分类:
系统相关 时间:
2018-01-22 16:10:31
阅读次数:
223
this 使用于函数体中,是指调用函数的对象. 函数调用时 有两种方式 1,明确调用函数的主体 例如 window.func1 window就是调用的主体,在 func1 中的this就指向window 2,直接执行函数 比如 func2() 在严格模式下, func2 内部的 this 就是 un ...
分类:
其他好文 时间:
2018-01-13 14:17:16
阅读次数:
163
为了理解函数提升,让我们从以下代码开启我们的学习之旅: 应该输出什么呢? 在任何其他编程语言中,这里的输出将会是reference error。但是,在JavaScript中,你将得到undefined作为输出。为什么?因为JavaScript会提升变量到执行上下文的顶部。执行上下文可以是声明变量的 ...
分类:
编程语言 时间:
2018-01-11 22:34:20
阅读次数:
240