CoffeeScript函数括号

Ooz*_*ter 4 coffeescript

我只是在学习CoffeeScript,而我正在尝试做一些我通常会在简单的JavaScript中做的事情.

这是我试图做的事情:

initializeWebGL = (canvas) ->
    gl = canvas.getContext "webgl" or canvas.getContext "experimental-webgl"
Run Code Online (Sandbox Code Playgroud)

这符合我的期望:

var initializeWebGL;

initializeWebGL = function(canvas) {
  var gl;
  return gl = canvas.getContext("webgl" || canvas.getContext("experimental-webgl"));
};
Run Code Online (Sandbox Code Playgroud)

为了获得我真正想要的东西,我必须getContext用括号包装参数:

initializeWebGL = (canvas) ->
    gl = canvas.getContext("webgl") or canvas.getContext("experimental-webgl")
Run Code Online (Sandbox Code Playgroud)

这产生了我想要的东西:

var initializeWebGL;

initializeWebGL = function(canvas) {
  var gl;
  return gl = canvas.getContext("webgl") || canvas.getContext("experimental-webgl");
};
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做我想要实现的东西,而不是像在第二个例子中那样在函数调用周围添加括号?

Pet*_*ons 5

有没有更好的方法来做我想要实现的东西,而不是像在第二个例子中那样在函数调用周围添加括号?

不,我不这么认为.我的经验法则是,当函数调用及其参数是一行中的最后一项时,可省略括号,否则包括它们.

someFunction 1, 2, 3
Run Code Online (Sandbox Code Playgroud)

不好

someFunction 1, someOtherFunction 2, 3
Run Code Online (Sandbox Code Playgroud)

一般来说,我尽量避免过于简洁,简洁的陈述.它们更难以在精神上工作,并且在调试器中踩踏更加棘手.