概念
闭包是由一个函数和该函数会访问的非局部变量组成。
非局部变量是指既不是全局变量也不是函数内的局部变量,而是外层嵌套函数的局部变量。
若一个闭包没有会访问的非局部变量,则是函数
闭包与函数区别
Lua编译一个函数时,会生成一个原型,里面包括函数体需要用到的常量值、函数体对应的虚拟机指令和一些调试信息
在运行时,每当lua执行到一个function...end时,就会创建一个新的数据对象,里面包括了一个函数原型的引用和upvalue引用组成的数组,所以函数时编译器概念,闭包是运行时概念。
闭包是由一个函数和该函数会访问的非局部变量组成。
非局部变量是指既不是全局变量也不是函数内的局部变量,而是外层嵌套函数的局部变量。
若一个闭包没有会访问的非局部变量,则是函数
Lua编译一个函数时,会生成一个原型,里面包括函数体需要用到的常量值、函数体对应的虚拟机指令和一些调试信息
在运行时,每当lua执行到一个function...end时,就会创建一个新的数据对象,里面包括了一个函数原型的引用和upvalue引用组成的数组,所以函数时编译器概念,闭包是运行时概念。
下一篇:I/O复用
java使用lua快速入门
lua不追求高大上的写法,简单方便即为真理
lua 闭包
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M