【发布时间】:2013-11-04 12:26:49
【问题描述】:
我刚刚学习 CoffeeScript,我正在尝试做一些我通常会用普通的 ol JavaScript 做的事情。
这是我尝试做的:
initializeWebGL = (canvas) ->
gl = canvas.getContext "webgl" or canvas.getContext "experimental-webgl"
这符合我的期望:
var initializeWebGL;
initializeWebGL = function(canvas) {
var gl;
return gl = canvas.getContext("webgl" || canvas.getContext("experimental-webgl"));
};
为了得到我真正想要的,我必须将getContext 参数用括号括起来:
initializeWebGL = (canvas) ->
gl = canvas.getContext("webgl") or canvas.getContext("experimental-webgl")
产生我想要的东西:
var initializeWebGL;
initializeWebGL = function(canvas) {
var gl;
return gl = canvas.getContext("webgl") || canvas.getContext("experimental-webgl");
};
除了像第二个示例那样在函数调用周围添加括号之外,还有更好的方法来实现我想要实现的目标吗?
【问题讨论】:
-
我(几乎)在调用函数时总是包含括号,这样我就不必在精神上解析代码来知道它在做什么:括号增加可读性和可读性更重要比正统。在您的具体情况下,如果您不喜欢 CoffeeScript 解释代码的方式,请添加括号来强制解决问题,这就是它们的用途。
-
仅仅因为 Coffeescript 足够聪明,可以识别函数参数(在许多情况下),并不意味着您现在(或者在您维护代码 6 个月后将会)。
标签: coffeescript