#coffeeScript风格的代码 ```coffeeScript cc.Class { extends: cc.Component properties: { # foo: # default: null # The default value will be used only when the component attaching # to a node for the first time # type: cc # serializable: true # [optional], default is true # visible: true # [optional], default is true # displayName: 'Foo' # [optional], default is property name # readonly: false # [optional], default is false } update: (dt) -> # do your update here } ``` Coffee大量借鉴了Ruby和Python的语法 原始的coffeeScript写法 ```coffeeScript # 赋值: number = 42 opposite = true # 条件: number = -42 if opposite # 函数: square = (x) -> x * x # 数组: list = [1, 2, 3, 4, 5] # 对象: math = root: Math.sqrt square: square cube: (x) -> x * square x # Splats: race = (winner, runners...) -> print winner, runners # 存在性: alert "I knew it!" if elvis? # 数组 推导(comprehensions): cubes = (math.cube num for num in list) ``` 输出的JavaScript语法 ```JavaScript var cubes, list, math, num, number, opposite, race, square, __slice = [].slice; number = 42; opposite = true; if (opposite) { number = -42; } square = function(x) { return x * x; }; list = [1, 2, 3, 4, 5]; math = { root: Math.sqrt, square: square, cube: function(x) { return x * square(x); } }; race = function() { var runners, winner; winner = arguments[0], runners = 2 <= arguments.length ? __slice.call(arguments, 1) : []; return print(winner, runners); }; if (typeof elvis !== "undefined" && elvis !== null) { alert("I knew it!"); } cubes = (function() { var _i, _len, _results; _results = []; for (_i = 0, _len = list.length; _i < _len; _i++) { num = list[_i]; _results.push(math.cube(num)); } return _results; })(); ``` 但是es6应该会成为主流,coffeeScript会被慢慢废弃
转载于:https://www.cnblogs.com/djy2130/p/CoffeeScript-feng-ge-dai-ma.html