2016-03-20 20 views
1

Unter Deklaration von $. soll eine Javascriptvariable sein?

Ich verstehe, wie

$('#Text').click(function() { 
    $('#Text').css('color', 'red') 
}); 
$ für Selektoren verwenden

Aber wenn ich Variable deklarieren wurde ich verwendet, das zu erklären, wie var x = function(){}...

Was diese Notation bedeutet "$." ist eine jquery Art, Variablen zu deklarieren?

$.searchTwitter= function(){ 


        $.ajax({ 
         url:"http://search.twitter.com/search.json", 
         data:{ 
           q:'dogs' 
         }, 
         dataType:'jsonp', 
         success:function(results){ 
          console.log(results); 
         } 
        }); 
       }; 

$.searchTwitter(); 
+1

Es schafft nur Umfang; – itzmukeshy7

+0

Mögliches Duplikat von [Was bedeutet das $ -Zeichen in Jquery oder JavaScript?] (Http://stackoverflow.com/questions/8667736/what-does-the-sign-mean-in-jquery-or-javascript) – Jeroen

Antwort

1

Das Dollarzeichen ist einer der Zeichen in Variablennamen in Javascript, zusammen mit Zahlen, Unterstrichen und englischen Buchstaben erlaubt.

Beispiele für 'spezielle' Variablennamen sind:

$$ $_ $ _

Dot-Notation ist ein Weg, eine Eigenschaft zu einem Objekt zuzuordnen.

Beispiel:

var x = { myName: 'Roman' }; 
x.searchTwitter = function() {}; 
x.searchTwitter(); 
console.log(x.myName); 

Wenn ein Browser die jQuery-Bibliothek lädt, erklärt JQuery eine globale Variable mit dem Namen JQuery und erklärt auch ein Alias ​​für sie - die $.

Beantworten Sie Ihre Frage, nein, es ist keine besondere Art, Variablen zu deklarieren. Es ist die Standardmethode von JavaScript, Eigenschaften zu einem Objekt hinzuzufügen.

0

Aus Sicherheitsgründen Ich mag meinen Code mit Verschlussfunktion wickeln mit $ als Argument. Siehe Code unten:

(function($){ 
 
    
 
$.searchTwitter = function(){ 
 

 
    $.ajax({ 
 
     url:"http://search.twitter.com/search.json", 
 
     data:{ 
 
     q:'dogs' 
 
     }, 
 
     dataType:'jsonp', 
 
     error: function (xhr, status, error) { 
 
     $('#errors').html(JSON.stringify(xhr)); 
 
     }, 
 
     success:function(results){ 
 
     console.log(results); 
 
     $('#results').html(JSON.stringify(results)); 
 
     } 
 
    }); 
 
}; 
 
$.searchTwitter(); 
 

 
})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="results"></div><div id="errors"></div>

aber Cris dieses Twitter-API ist veraltet. Es sollte nicht funktionieren.

enter image description here

+1

war nur ein theoretisches Beispiel .... verwendet, um das $ zu verstehen. – Cris

1

$ als Syntactic Sugar bekannt

Bei jQuery es jQuery-Objekt ist. Das bedeutet, dass die Verwendung von $("#mydiv") oder jQuery("#mydiv") dasselbe ist. $ erleichtert nur das Schreiben des vollständigen Objektnamens jQuery.

Wenn Sie wollen know more

2

$ jQuery selbst ist. Es ist in der jQuery-Bibliothek deklariert. Wenn Sie $.searchTwitter = function(){} verwenden, was Sie wirklich sagen, ist JQuery.searchTwitter = function(){}.

1

$ ist eine globale Variable, die durch jQuery und einen Alias ​​für die Variable jQuery definiert wird. Durch Zuweisen von $.searchTwitter = function() { ... } wird dem globalen Objekt jQuery eine neue Methode hinzugefügt.

Praktisch gibt es keinen Vorteil oder Nachteil einer solchen Deklaration im Gegensatz zu der üblichen Syntax function searchTwitter() { ... }. Es wird manchmal verwendet, um Funktionen zu deklarieren, die sich auf jQuery beziehen oder ein Plug-in für jQuery sind.

2

In jQuery, $ ist ein Alias ​​für jQuery.

heißt $.ajax(); helfen wie jQuery.ajax();

In Javascript ist $ nichts Besonderes; einfach eine gültige JavaScript-Kennung.

Ref: https://learn.jquery.com/about-jquery/how-jquery-works/

Hinweis: Die jQuery-Bibliothek setzt seine Methoden und Eigenschaften über zwei Eigenschaften des Fensters Objekt jQuery und $ genannt.$ ist einfach ein Alias ​​für jQuery und es wird oft verwendet, weil es kürzer und schneller zu schreiben ist.

+0

$, Jquery ist ein Objekt oder eine Funktion? – Cris

+0

@Cris: In JavaScript ist jede Funktion ein Objekt und kann daher Eigenschaften haben. – Callidior

+0

@Cris - * Callidior * gab bereits die Antwort :) – mmuzahid

Verwandte Themen