Как это записать в coffeescript?
f = (function(){
// something
})();
Спасибо за любые советы :)
javascript
javascript-framework
coffeescript
user537339
источник
источник
f = do -> console.log x
-> console.log 'this runs right away'
кf
, а затем запускает его; yours запускает функцию, а затем присваивает ее результатf
, как в исходном вопросе. (Хотя в случаеconsole.log
, возвращаемое значение всегда будетundefined
.){f: do -> // something}
do
также позволяет передавать аргументы функции. Передавать1
и2
в качестве параметровx
иy
, писатьdo (x = 1, y = 2) ->
. (Документация по этой функции утеряна , но проблема, в которой эта функция была представлена, содержит несколько примеров.)Если вы хотите присвоить псевдониму аргументы, передаваемые в функцию самозапуска в CoffeeScript, и скажем, это то, чего вы пытаетесь достичь:
(function ( global, doc ) { // your code in local scope goes here })( window, document );
Тогда
do (window, document) ->
не позволю тебе этого сделать. Тогда путь к паренсу:(( global, doc ) -> # your code here )( window, document )
источник
do (global=window, doc=document) ->
в кофе смешно просто:
do ->
вернется
(function() {})();
источник
Вы также можете комбинировать
do
ключевое слово с параметрами функции по умолчанию, чтобы заполнить рекурсивные «самозапускающиеся функции» начальным значением. Пример:do recursivelyPrint = (a=0) -> console.log a setTimeout (-> recursivelyPrint a + 1), 1000
источник
попробуй использовать
do ($ = jQuery) ->
источник
do -> #your stuff here
Это создаст самоисполняющееся закрытие, которое полезно для определения области видимости.
источник
Извините, я решил это:
f = ( () -> "something" )()
источник
do
Ключевое слово имеет некоторые ограничения , которые делают необходимым использовать подход JS-стиль иногда (см выпуск 960 );do
действительно был добавлен только из-за использования цикла с закрытием.Должен быть
f = () -> # do something
источник