一.堆栈的定义 1.栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。 结论:后进先出(Last In First Out),简称为LIFO线性表。栈的应用有:数制转换,语法词法分析,表达式求值等 2.队列(Queue)也是一种运算受限的线性表,它的运算限制与栈不
分类:
Web程序 时间:
2016-03-11 20:35:43
阅读次数:
327
闭包使用的代码部分参考了W3C和饥人谷公开课,谢谢。 1.什么是闭包? W3C:闭包,指的是词法表示包括不被计算的变量的函数,也就是说,函数可以使用函数之外定义的变量。 要较好理解闭包,除了形式本身,还应先理解:JS没有块级作用域;JS的内存回收机制(可见JavaScript作用域)。 2.闭包的例
分类:
编程语言 时间:
2016-03-07 13:30:40
阅读次数:
235
编译器:源程序-->目标程序,离线offline 解释器:处理程序的一种程序, 输出的是结果,在线online(把结果打印出来了) 编译原理集中体现了计算机科学的很多核心思想:算法,数据结构,软件工程 编译器本身就是很重要的研究领域。 编译器也可以把功能分为前端,后端。前端可以分为词法分析,语法分析
分类:
其他好文 时间:
2016-03-05 20:21:54
阅读次数:
157
局部定义与代码块: 使用local声明一个局部变量或局部函数,局部对象只在被声明的那个代码块中有效。 代码块:一个控制结构、一个函数体、一个chunk(一个文件或文本串)(Lua把chunk当做函数处理) 这样,可以在chunk内部声明局部函数,该函数仅在chunk内可见,并且词法定界保证了包内其他
分类:
其他好文 时间:
2016-03-04 18:59:49
阅读次数:
223
详解Objective-c闭包简单应用是本文要介绍的内容,主要介绍的是闭包的应用,不多说,文章中介绍的已经很详细,我们先来看内容详解。 概念介绍 这里的闭包自然是计算机语言中的闭包,词法闭包(Lexical Closure)的简称,主要表现在函数可以引用到自由变量,并且可以脱离变量的创建环境,再复杂
分类:
编程语言 时间:
2016-03-01 20:49:12
阅读次数:
216
正则表达式基本每个程序员都会用到,实现正则表达式引擎却似乎是一个很难的任务。实际上,掌握《编译原理》前端的词法分析部分知识就能够实现一个简单的正则表达式引擎。这里推荐一下网易云课堂的课程。http://mooc.study.163.com/course/USTC-1000002001?tid=100
分类:
其他好文 时间:
2016-02-24 12:14:28
阅读次数:
132
1:什么是 block 体,具体是什么形式,以及在什么时候使用? a) Block是一个C级别的语法以及运行时的一个特性,和标准C中的函数(函数指针)类似,从ios4.0开始就很好的支持Block。 b)其形式如下: 再次声明:block可以访问和block定义在同一个词法范围里的变量。 <span
分类:
其他好文 时间:
2016-02-22 17:31:58
阅读次数:
136
在函数体内,标识符arguments是指向实参对象的引用,实参对象是一个类数组对象 arguments[0],arguments.length arguments是什么? 答:1:arguments是收到的实参副本 在词法分析中, 首先按形参形成AO的属性,值为undefined 当实参传来时, 再
分类:
Web程序 时间:
2016-02-20 17:29:20
阅读次数:
137
核心:JS中的script是分段执行的。 1 <script> 2 var i = 10; 3 </script> 4 <script> 5 alert(i); 6 </script> 上面的例子中,弹出结果10。因为在之前script语句段定义的变量和函数可以再其他script语句段中使用。在一个
分类:
Web程序 时间:
2016-02-19 06:55:53
阅读次数:
212
js的解析与执行过程 分全局 {预处理阶段和执行阶段} 函数{预处理函数和执行阶段} 1/创建词法环境(环境上下文) LexicalEnvironment === window { } 用声明的方式创建的函数还会被加到词法环境中: 1。用var 定义的变量 比如定义了var a=5 function
分类:
Web程序 时间:
2016-02-19 00:16:46
阅读次数:
265