cc.Class 里为什么有的函数是 foo(){} 形式的,有的是 bar: function(){} 形式的?

比如官方文档的这里:https://docs.cocos.com/creator/manual/zh/getting-started/quick-start.html#%E7%A7%BB%E5%8A%A8%E6%8E%A7%E5%88%B6
移动控制那一小节。我这里直接点击链接锚点的位置好像有点不对劲。
里面 onKeyDown、onKeyUp 和 onDestroy 是一个形式,其他的是另外一个形式。这两种形式有哪些区别?如果这个跟 cocos 没关系,仅仅是 JavaScript 的事的话,这两种形式都叫什么,我去搜。我暂时不想系统学 JavaScript,想凭之前的底子混过去。

顺便问一下发这个分类对吗?

对象里面写方法是:
a : function(){} 的形式

CocosCreator支持一些ES6特性
ES6支持对象里方法名的简写:
a( ) { } 跟上面那个形式是等同的

这些是JavaScript的内容

1赞

onKey(){
}

onKey: function(){
}

跟 cocos 没关系,是 javascript 的语法,区别是:第一个是普通函数,第二个是匿名函数

本质的不同是第一个相当是普通的函数声明,而第二个是给变量 onKey 赋值了一个匿名函数

一般用起来没有什么差别,但还是有一些不同点的,感兴趣可以搜索了解

1赞

文档中用了两种写法可能只是没注意统一用法

1赞