Warum eine anonyme Funktion definieren und jQuery als Argument übergeben?

Ich schaue mir den exzellenten Peepcode-Demo-Code aus den backbone.js-Screencasts an. Darin ist der Backbone-Code in einer anonymen Funktion enthalten, die das jQuery-Objekt übergibt:

<code>(function($) {
  // Backbone code in here
})(jQuery);
</code>

In meinem eigenen Backbone-Code habe ich gerade meinen gesamten Code in das jQuery DOM-Ereignis 'ready' eingebunden:

<code>$(function(){
  // Backbone code in here
});
</code>

Was ist der Sinn / Vorteil des ersten Ansatzes? Auf diese Weise wird eine anonyme Funktion erstellt, die sofort ausgeführt wird, wobei das jQuery-Objekt als Funktionsargument übergeben wird. Auf diese Weise wird sichergestellt, dass $ das jQuery-Objekt ist. Ist dies der einzige Punkt, um sicherzustellen, dass jQuery an '$2$#39; gebunden ist, oder gibt es andere Gründe, dies zu tun?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage