Lua学习笔记之类型和值
1、全局变量
全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil
如果需要删除一个全局变量,只需要将变量赋值为nil
2、词法约定
标识符:字母或者下划线开头的字母、下划线、数字序列,最好不要使用下划线家大写字母的标识符,因为lua的保留字也是这样的。
3、命令行方式
Lua[opti...
分类:
其他好文 时间:
2014-11-06 20:05:21
阅读次数:
206
曾经看到过这样一段有意思的程序:var a=3;function scopeTest(){ console.log(a); var a=2; console.log(a);}scopeTest();在控制台上打印结果为:undefined2对于第一次输出的undefined感觉到奇怪。在查了一...
分类:
编程语言 时间:
2014-11-05 12:13:07
阅读次数:
171
(接上篇) -------------------------------------- 4 语言 -------------------------------------- 这节描述 Lua 的词法,语法和语义。 ------------------- 4.1 词法约定 ------------------- Lua 中的标识符...
分类:
其他好文 时间:
2014-11-03 14:47:01
阅读次数:
161
在lua中,函数是一种第一类值,它们具有特定的词法域...
分类:
其他好文 时间:
2014-11-01 13:33:14
阅读次数:
204
首先是词法分析。Token除了【】与:之后的注释之外,其他全部用空白字符分割。即【设置 【搞什么? 啊 啊啊】 【加 啊 啊啊】】:我是注释啊有Token (【) (设置)(【)(搞什么?)(啊)(啊啊)(】)(【)(加)(啊)(啊啊)(】)(】)Token有三种类型,一是左右括号,二是各种名字,三...
分类:
其他好文 时间:
2014-10-30 13:24:11
阅读次数:
212
1.作用域(scope):在javascript没有块级作用域,是由函数来划分的。变量和函数的作用域是在定义时决定而不是执行时决定,也就是说词法作用域取决于源码,通过静态分析就能确定,因此词法作用域也叫做静态作用域(with和eval除外)。当定义了一个函数,当前的作用域链就保存起来,并且成为函数的...
分类:
其他好文 时间:
2014-10-28 11:57:58
阅读次数:
157
许多JavaScript的难题都是由this引起的。this是一个很让人困惑的东西,这是由于他的语义和其他变量的词法作用域规则有着很大不同。this引用的对象常常和一个函数的词法作用域完全不相关。于是我们常常看到下面的这个小技巧:function blah(){ var that = this...
分类:
编程语言 时间:
2014-10-26 18:18:47
阅读次数:
190
关于 Javascript 的函数作用域、调用对象和闭包之间的关系很微妙,关于它们的文章已经有很多,但不知道为什么很多新手都难以理解。我就尝试用比较通俗的语言来表达我自己的理解吧。作用域 ScopeJavascript 中的函数属于词法作用域,也就是说函数在它被定义时的作用域中运行而不是在被执行时的...
分类:
编程语言 时间:
2014-10-26 15:32:18
阅读次数:
149
之所以取名叫做词法作用域,是这个概念是js中相当基础也是极为重要的,很多想当然的错误或感觉怪异的问题都是和这个东西有关。所以,本文主要说下这个名词的概念以及讨论下他牵扯出来的有关变量、函数、闭包的问题。由变量开始谈习惯性先来段代码:view sourceprint?1var x = "globol ...
分类:
编程语言 时间:
2014-10-26 11:26:28
阅读次数:
234
一·预备知识(编译概述)翻译程序是指这样一个程序,它把一种语言(源语言)所写的程序(源程序)翻译成等价的另一种语言(目标语言)的程序(目标程序)。编译程序是一种翻译程序,它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。其工作过程一般可划分为如下五个阶段:1:词法分析词法分析阶段的任...
分类:
编程语言 时间:
2014-10-24 18:21:06
阅读次数:
214