内部函数 闭包: 闭包将内部函数自己的代码和作用域以及外部函数的作用结合起来。 闭包的词法变量不属于全局名字空间域或者局部的——而是属于其他的名字空间,带着流浪的作用域。 闭包对于安装计算,隐藏状态,以及在函数对象和作用域中随意的切换是很有用的。 闭包也是函数,但是他们能携带一些额外的作用域。 实例 ...
分类:
编程语言 时间:
2018-03-02 23:16:39
阅读次数:
259
一直以来对编译器/解释器等都较有兴趣。我非科班出身,当初还在大学时,只是马马虎虎看完了《编译原理》之类教材,上机非常少,对龙书之类圣经也只是浅尝辄止而已。工作至今,基本已将编译原理相关知识忘记得差不多了,可能也就还对譬如预处理词法分析语法分析 AST 生成等基础性的概念还有点印象罢。 约 1 年多前 ...
分类:
其他好文 时间:
2018-02-27 01:00:43
阅读次数:
250
下载地址:网盘下载 内容简介 · · · · · · 本书全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术,并在相关章节中给出大量的实例。与上一版相比,本书进行了全面的修订,涵盖了编 ...
分类:
其他好文 时间:
2018-02-24 15:11:47
阅读次数:
250
搞清楚上面5点,就差不多可以了 什么是闭包:闭包就是里面有一个函数,和被这个函数捕获的一些变量 比如 a b 闭包的两种情况:上图是其中一种,一共有两种如下图: 查看闭包:chrome浏览器打断点可以查看到 各个浏览器查看闭包里的内容可能有差别 如果 f2中没使用父里面的变量 则不会产生闭包: 没用 ...
分类:
其他好文 时间:
2018-02-24 10:43:29
阅读次数:
104
一、前言 一个合格的c程序员(也可以叫做软件工程师,这样看起来更高大上,当然,我老婆心情不好的时候总是叫我“死打字的”,基本也能描述这份职业,呵呵)需要理解编译、链接和加载的过程,而不是仅仅关注c语言的语法和词法。本文主要以此为切入点,描述linux系统下,一个普通的hello world程序的生命 ...
分类:
其他好文 时间:
2018-02-21 23:02:21
阅读次数:
266
转自:http://blog.csdn.net/jurbo/article/details/52334345 写这个的起因是,还是因为在做Python challenge的时候,有的时候想解决问题,连应该用哪个类库都不知道,还要去百度(我不信就我一个人那么尴尬TvT) 好像自从学习了基础的Pytho ...
分类:
编程语言 时间:
2018-02-18 15:03:51
阅读次数:
281
静态链接 1 编译和链接 1.1 被隐藏了的过程 例如: #include<stdio.h> int main() { printf("Hello World\n"); return 0; } 在Linux下,使用GCC编译: gcc hello.c ./a.out Hello World 事实上, ...
分类:
其他好文 时间:
2018-02-13 17:54:06
阅读次数:
239
主要问题: 1、javaScript代码的编译和执行过程,词法作用域规则? 2、this的动态绑定方式有几种? 3、全局和函数之外是不是还有其他的作用域? 4、为什么代码规范多禁止with、eval? ...
分类:
编程语言 时间:
2018-02-11 14:48:33
阅读次数:
196
编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。源代码-->预处理-->编译-->优化-->汇编-->链接-->可执行文件 Source--(编译)--> As ...
分类:
编程语言 时间:
2018-02-06 18:19:10
阅读次数:
164
箭头函数不会创建自己的this, 而是使用 __ 封闭执行上下文的this __。 通过 call 或 apply 调用 由于this在词法层面上已经完成了绑定,通过call() 或者 apply()方法调用函数时,只是传入了参数而已,并不会修改this的指向,对this没有影响。 var adde ...
分类:
其他好文 时间:
2018-01-31 11:32:58
阅读次数:
183