Rails とかで JavaScript をメインに使っていて、CoffeScript を混ぜ始めると、JavaScript と同様にグローバルで関数などを作ろうとして、ハマりました。
CoffeeScript で
method1 = (args) ->
# do something
と書くと、自動的に
(function() {
var method1;
method1 = function (args) {
# do something
};
})();
となり、グローバルではなく、ローカルで処理しようとするので、他のところで使えなくなってしまいます。
代わりに
window.YourNamespace or= {} # 既にある場合に再定義しないように
ns = window.YourNamespace
ns.method1 = (args) ->
# do something
と名前空間に入れてあげると他のところ(他の JavaScript ファイルなど)でも使えるようになります。