coffeescript不隐式返回“;假;

coffeescript不隐式返回“;假;,coffeescript,Coffeescript,我正在尝试向字符串基元类型/类添加一个方法,在该方法中,我可以从URL字符串中添加额外的参数 String::getUrlParams = -> # line 1 false unless ( params = @.split('?')[1] ) # line 2 # ... 在Chrome控制台中,当我故意使用不带参数的URL字符串调用此方法时,我希望它只返回false "http://dns.com/".getUr

我正在尝试向字符串基元类型/类添加一个方法,在该方法中,我可以从URL字符串中添加额外的参数

String::getUrlParams = ->                        # line 1 
    false unless ( params = @.split('?')[1] )    # line 2
    # ...
在Chrome控制台中,当我故意使用不带参数的URL字符串调用此方法时,我希望它只返回false

"http://dns.com/".getUrlParams();
但它要经过2号线

如果我把第2行改为

   return false unless ( params = @.split('?')[1] ) # line 2`
然后返回false并在第2行停止函数

知道为什么coffeescript在第一个版本中没有返回false并停止函数吗


谢谢

Coffeescript只返回最后一条函数语句。若在某个语句之后,您希望在函数中间返回某个语句,那个么您应该显式地这样做

——简短的想法--
简言之,Coffeescript编译器并没有那个么聪明,可以预测你们想要或不想要返回什么。现在大多数编译器也是如此。此外,它的非智能性避免了大多数错误,这些错误可能是由于过早返回而导致的。

我明白了。这就解释了。事实上,在我输入问题大约2分钟后,我想到了(更像是怀疑)。我猜把东西打出来会有帮助。将在7分钟后投票回答-谢谢!谢谢你的提醒