Lua 点号与冒号的核心区别
初学 Lua 时,容易对 . 和 : 的用法产生疑问。冒号语法的核心是隐式声明并传递 self 参数。
冒号的作用:定义函数时,给函数添加隐藏的第一个参数self,调用函数时,默认把当前调用者作为第一个参数传递进去。
使用冒号后,就相当于我们使用了点号,只是我们不再需要显示的定义self参数以及主动低传递参数。
在Cocos2dx 开发过程中,大部分时候都是使用的冒号
方法定义与调用的等价写法
一般我们在定义函数时会用下面写法
1 | function MainScene:onCreate() |
等同于下面写法
1 | function MainScene.onCreate(self) |
笔者个人看法,欢迎大家更正