所以我有一个关于 Coffee Script 的问题可能是个愚蠢的问题。我给了它第二次机会,但为什么它会返回一切?
这与成为函数的最后一个语句/行有关吗?以及如何禁用它?将评论或其他内容作为最终的“表达”,我知道这是一个“记录在案”的功能,但不是;不,这不是真的,我怎么到处都没有回报?并节省下载/执行时间?
当然,这种行为有点搞砸了?
(locate =
getPosition: () ->
# Check we support geolocation
throw Exception 'Your browser doesn\'t support location based services!' if !navigator.geolocation
navigator.geolocation.getCurrentPosition (pos) ->
console.log pos
)
编译为
(function() {
var locate;
locate = {
getPosition: function() {
if (!navigator.geolocation) {
throw Exception('Your browser doesn\'t support location based services!');
}
return navigator.geolocation.getCurrentPosition(function(pos) {
return console.log(pos);
});
}
};
}).call(this);
[编辑]
我关心的原因是这只是我为应用程序构建的一个非常大的库之一,如果我们说有 500 个函数,其中 200 个函数对 dom 执行某些操作而不是返回诸如数字或对象之类的东西,那么额外的 200 return 是我不想要或不需要的额外 1.2k 数据。
另外,没有返回undefined
的函数,返回和返回null
良好的函数,无需解释。如果我愚蠢到去检查这个,那将是全面错误的。
我敢肯定会有一些性能差异,但我不知道,现在我没有时间做一些 jsperfs,但我会感兴趣。