На Coffeescript.org:
bawbag = (x, y) ->
z = (x * y)
bawbag(5, 10)
будет компилироваться в:
var bawbag;
bawbag = function(x, y) {
var z;
return (z = (x * y));
};
bawbag(5, 10);
компиляция с помощью coffee-скрипта в node.js обертывает это так:
(function() {
var bawbag;
bawbag = function(x, y) {
var z;
return (z = (x * y));
};
bawbag(5, 10);
}).call(this);
Документы говорят:
Если вы хотите для создания переменных верхнего уровня для использования другими скриптами, прикрепите их как свойства к окну или к объекту экспорта в CommonJS. Экзистенциальный оператор (описанный ниже) дает вам надежный способ выяснить, куда их добавить, если вы ориентируетесь на оба CommonJS и браузер: root = exports? this
Как определить глобальные переменные в CoffeeScript. Что означает «прикрепить их как свойства к окну»?