JavaScript中在调用函数的那一瞬间之前,会先进行词法分析 词法分析的过程: 当函数调用的前一瞬间,会先形成一个激活对象:Avtive Object(AO),并会分析以下3个方面: 1:函数参数,如果有,则将此参数赋值给AO,且值为undefined。如果没有,则不做任何操作。2:函数局部变量 ...
分类:
编程语言 时间:
2018-07-23 19:55:10
阅读次数:
198
JavaScript的高级知识 词法分析 词法分析 词法分析方法: js运行前有一个类似编译的过程即词法分析,词法分析主要有三个步骤: 分析参数 再分析变量的声明 分析函数说明 函数在运行的瞬间,生成一个活动对象(Active Object),简称AO 分析参数 具体步骤如下: 分析变量声明,如va ...
分类:
编程语言 时间:
2018-07-23 17:20:15
阅读次数:
155
1.前言 本文记录内容来自《深入理解Java虚拟机》的第十章早期(编译期)优化其中一节内容,其他的内容个人觉得暂时不需要过多关注,比如语法、词法分析,语义分析和字节码生成的过程等。主要关注的就是Java的一些语法糖是如何实现的。 语法糖不会提供实质性的功能改进,但是它们或能提高效率,或能提升语法的严 ...
分类:
编程语言 时间:
2018-07-21 22:50:16
阅读次数:
215
关于JavaScript的作用域,最近听到一个名词:“词法作用域”;以前没有听说过(读书少),记录一下对此的理解,加深印象。 词法作用域:在JavaScript中,一个函数的作用域,在这个函数定义好的时候就决定好了;因此判断该函数的上一级作用域,不是看函数在哪里调用,而是看函数在哪里编写;请勿和th ...
分类:
编程语言 时间:
2018-07-19 14:49:10
阅读次数:
200
第一步:查找域名的IP地址(浏览器缓存,系统缓存,路由器缓存,ISP的DNS缓存,递归搜索域名从顶级域名开始) 第二步:通过三次握手建立TCP/IP连接 第三步:发送HTTP请求(HTTP头等分析) 第四步:baidu.com到www.baidu.com的永久重定向相应(和搜索引擎重定向排名有关,搜 ...
分类:
其他好文 时间:
2018-07-19 13:47:51
阅读次数:
186
关于js基本的包括词法作用域和模块基础的总结。 1 编译器 作用域 引擎 编译器负责分析及代码生成,作用域负责维护好所有的标识符(变量)组成的一系列查询,引擎负责按照作用域规定的规则执行代码。 所以,作用域相当于中介,先是编译器编译,作用域维护,然后引擎按照作用域来执行。所以虽然js是解释型语言,但 ...
分类:
编程语言 时间:
2018-07-18 23:31:48
阅读次数:
482
一、程序执行的过程 1.预编译:主要处理源代码中的预处理指令,引入头文件,去除注释,处理所有的条件编译指令,宏的替换,添加行号,保留所有的编译器指令。 gcc -E main.c -o main.i 2.编译:编译过程所进行的是对预处理后的文件进行语法分析,词法分析,语义分析,符号汇总,然后生成汇编 ...
分类:
其他好文 时间:
2018-07-16 20:03:09
阅读次数:
155
1、预处理 预处理也称为预编译,它为编译做准备工作,主要进行代码文本的替换工作,用于处理#开头的指令,其中预处理产生编译器的输出。下表是一些常见的预处理指令及其功能。 经过预处理器处理的源程序与之前的源程序会有所不同,在预处理阶段所进行的工作只是纯粹的替换与展开,没有任何功能,所以在学习#defin ...
分类:
其他好文 时间:
2018-07-15 19:44:35
阅读次数:
183
一、闭包的概念理解 在 定义 某函数的 词法作用域 以外 调用该函数时,该函数依然保留有对其 定义时的词法作用域 的引用。那么这个 引用 就叫做闭包。 闭包的一些特点: 1. 当函数在定义时的词法作用域以外调用时,闭包使得函数可以继续访问其定义时的词法作用域 2. 闭包可以阻止内存空间的回收 3. ...
分类:
其他好文 时间:
2018-07-10 16:00:35
阅读次数:
171
在《JavaScript高级程序设计》第三版第7章函数表达式部分讲到,定义函数有两种方式:一种是函数声明,另一种就是函数表达式。函数声明的语法是这样的。function functionName(arg0, arg1, arg2) {//函数体} 关于函数声明,它的一个重要特征就是函数声明提升( f ...
分类:
其他好文 时间:
2018-07-07 20:27:47
阅读次数:
377