lua中的全局变量与局部变量与块
2017-11-05 12:37
357 查看
1.全局变量:全局变量不需要声明,只需要直接给赋值即可。当然删除一个全局变量喜欢只需要将他赋值为nil即可。换句话说如果存在一个全局变量必然具有一个非nil值。
2.局部变量
用local声明,其作用域仅限于声明他们的那个块。这个块可以是局部控制结构,function以及chunk1。
例子:
chunk1:
需要注意的是y是全局变量,但由于声明在函数中函数体未执行的话,y仍然为nil 。如果先执行再打印y=10
当 另一个chunk2中require该chunk1时:
chunk2:
注意一下几点:1.require只会执行一次(dofile会每次执行,loadfile只加载不执行)
2.可以访问到的变量:x=10,m=nil(local访问不到) y=nil(无论函数提不提前执行都为nil,我的理解是y在function代码块里的全局变量,能够在该chunk里访问到,却不能在另一个外部访问。而x为该chunk里的全局变量,所以可在外部访问到。)
三,当执行chunk1中的testPrint()函数时是会执行smallfunction方法。但如果把samllfunction放在下面testPrint方法下面:这里可以把函数当成一个变量就容易理解了。全局变量不需要声明。而局部变量需要加个local(暂时这么理解)
相关文章推荐
- Lua编程笔录--Lua初识及语法一(注释,变量命名,全局/局部变量,数据类型)
- lua学习(2)_____lua的注释和全局变量、局部变量
- lua2.1 全局变量和局部变量(完善中)
- 使用Lua 局部变量来优化性能,同一时候比較局部变量和全局变量
- lua中的全局变量与局部变量
- 使用Lua 局部变量来优化性能,同时比较局部变量和全局变量
- lua的全局变量、局部变量、函数闭包和非局部变量(upvalue)
- 全局变量和局部变量在内存里的区别
- Python: 全局变量 & 局部变量的使用
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- c语言:全局变量与局部变量的区别
- 谈谈JS的全局变量跟局部变量
- C语言局部变量和全局变量
- Javascript的全局变量跟局部变量
- 全局变量 局部变量 静态全局变量 静态局部变量的区别
- 程序在的内存中的分配(常量,局部变量,全局变量,程序代码)
- javascript中局部变量和全局变量的区别详解
- Javascript:谈谈JS的全局变量跟局部变量
- Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别
- Javascript:谈谈JS的全局变量跟局部变量