JavaScriptは、グローバル関数をなるべく汚さないというのが、最近の主流ルールですが、逆に言うと、PHPなどのようにnamespaceを持たないのが原因かもしれませんね。
そして、無名関数でローカル変数と関数で、処理を行ってしまうという事が重要な様です。
無名関数の雛形
(function(){
var $$={}
/*
$$.hoge=function(){...};
*/
window.$$FUNCTION = $$;
return $$;
})();
考え方
簡単ですが、内部オブジェクト変数として「$$」を使ってます。
これは、jQueryが$ベースになっていて、よくこれとコンフリクトしてしまうので、$$にしているだけなんですが、無名関数内でjQueryを使わないのであれば、$でも構わないです。
あと、中に記述したfunctionは、グローバル変数として「$$FUNCTION」に格納して、別プログラムで再利用可能にしていますが、とにかくグローバルは使わないのであれば、下部の2行は削除しても大丈夫です。