Похоже, CoffeeScript автоматически возвращает последний элемент в области видимости. Могу ли я избежать этой функции?
coffeescript
Shamoon
источник
источник
Ответы:
Вы должны ничего явно не возвращать или оставить выражение, оцениваемое как undefined, внизу вашей функции:
Или:
Это то, что рекомендует документ при использовании понимания:
Однако вы можете написать такую оболочку:
(Обратите внимание на оператор splat здесь (
...
))И используйте это при определении функций:
Или вот так:
источник
return
,undefined
илиnull
до конца моей функции. Однакоnull
мне почему-то добавление кажется неправильным. Правильно ли я полагаю, что это худший выбор из трех?undfined
в конце.return
Кажется, что использование пустого оператора не лучше выражает return, чем оставлениеundefined
в конце функции, поэтому пустойreturn
вариант кажется лучшим вариантом.fun(arguments...)
этого лучше было бы позвонитьfun.apply(this, arguments)
.Да, с
return
последней строкой функции.Например,
Если вы хотите увидеть, в какой js компилируется кофе, попробуйте http://bit.ly/1enKdRl . (Я использовал сокращение coffeescript для своего примера)
источник
Просто что-нибудь забавное (интересное)
Function.prototype
Сама по себе функция всегда ничего не возвращает. Вы можете использовать compose для передачи возвращаемого значения в эту черную дыру, и составленная функция никогда ничего не вернет.источник
источник
Кажется, что функции в CoffeeScript всегда должны что-то возвращать, даже
null
. В C у вас естьvoid
тип возвращаемого значения.->
, пустая функция компилируется в(function() {})
, поэтому это единственная функция, которая ничего не возвращает.источник
return;
работает в C, JavaScript и CoffeeScript, чтобы вернуть пустое значение.