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