名前空間を汚染しないライブラリを作りたい

会社の人たちと先日昼飯を食べているときに、JavaScriptでいかに名前空間を汚染しないか、とかいう話をした。特に、自分のコントロール下にないページで読み込まれるJavaScript(ライブラリとかブログパーツとか)は、名前空間を汚染したくない。
で、そのときに汚染してるけど気づかれにくいというのはどうか、という話もした。

Array.prototype.slice.$ = function(id){
  if( !id ) return;
  return document.getElementById(id);
}

おお、まさかそんなところに隠れているとは!
使うときは以下のような感じで。

var d = [].slice.$('div1');

使うときに配列を生成しているあたりが素敵だ。