2014-03-03 6 views

Antwort

22

Funktionen in JavaScript sind Objekte. Und wie die meisten Objekte in JavaScript können Sie diesen Eigenschaften beliebig hinzufügen. Die $ Funktion ist genau das, eine Funktion. Wenn Sie also eine Eigenschaft darauf aufsetzen und auf eine jQuery-Sammlung oder -Referenz verweisen möchten, können Sie das tun.

Durch Hinzufügen der Auflistung als eine Eigenschaft auf der $-Funktion ist es eine Variable weniger im aktuellen Bereich. Sie können die Schlüssel der jQuery-Funktion prüfen vor und nach, wenn Sie möchten, um zu sehen, wie es die Funktion des beeinflusst Topographie und (abzählbar) Eigenschaftsliste:

Object.keys($); 
// ["fn", "extend", "expando"..."parseHTML", "offset", "noConflict"] 

$.root = $("body"); 
// [<body>] 

Object.keys($); 
// ["fn", "extend", "expando"..."parseHTML", "offset", "noConflict", "root"] 
+0

" ... eine Variable weniger im aktuellen Bereich ... ". Immer noch nicht klar, warum das besser ist, oder wann es besser ist und wann nicht. –

+0

@CraigHicks Wenn Sie keine 'root'-Variable im Bereich haben, haben Sie keine Chance, sie mit irgendeiner anderen 'root'-Variable zu kollidieren, die Sie später einführen. Um ehrlich zu sein, ich glaube nicht, dass es einen guten Grund gibt, das zu tun, was ich oben vorgeschlagen habe, besonders seit wir "Let" haben. Ich habe es nur gezeigt, weil der Autor gefragt hat. – Sampson

+0

Danke für deine Antwort - irgendwie habe ich es versäumt, über "let" zu lernen, bis du es erwähnt hast! Ich war besorgt, dass sobald das Geheimnis über "$" ausging. als Lagerplatz würde es von Touristen überrannt werden - aber jetzt muss ich mir keine Sorgen machen, –

6

Die erste erstellt eine Eigenschaft namens root in jquery und legt ihren Wert fest. Die zweite definiert nur, dass die Variable mit dem Namen $ root den Wert auf der rechten Seite hat.

10
$.root = $("body"); 

Dies fügt eine Eigenschaft, um den $ Funktors (oft bezeichnet als das Objekt jQuery, wie $ == jQuery)

$root = $("body"); 

Dies fügt eine Eigenschaft auf den 'globalen' Umfang, auch bekannt als die Fenster Objekt in Javascript. Sie können auch diese als

window.$root 
Verwandte Themen