Nel seguente codice JavaScript c'è un $segno di dollaro ( ). Cosa significa?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
Nel seguente codice JavaScript c'è un $segno di dollaro ( ). Cosa significa?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
Risposte:
Lo snippet di codice sembra fare riferimento a metodi di una delle librerie JavaScript più diffuse (jQuery, ProtoType, mooTools e così via).
Non c'è nulla di misterioso nell'uso di $JavaScript. $è semplicemente un identificatore JavaScript valido.
JavaScript consente lettere maiuscole e minuscole, numeri e $e _. L' $intento era di essere utilizzato per variabili generate dalla macchina (come $0001).
Prototype, jQuery e la maggior parte delle librerie javascript usano l' $oggetto base (o la funzione) principale. La maggior parte di loro ha anche un modo di rinunciare al $modo che possa essere utilizzato con un'altra libreria che lo utilizza. In quel caso usi jQueryinvece di $. In realtà, $è solo una scorciatoia per jQuery.
Da un'altra risposta :
Un po 'di storia
Ricorda, non c'è nulla di intrinsecamente speciale $. È un nome variabile come un altro. In passato, le persone scrivevano codice usando document.getElementById. Poiché JavaScript fa distinzione tra maiuscole e minuscole, era normale commettere un errore durante la scrittura document.getElementById. Dovrei capitale 'b'di 'by'? Dovrei capitale 'i'di Id?te ottenere la deriva. Poiché le funzioni sono cittadini di prima classe in JavaScript, puoi sempre farlo:
var $ = document.getElementById; //freedom from document.getElementById!
Quando è arrivata la libreria Prototype, hanno chiamato la loro funzione, che ottiene gli elementi DOM, come '$'. Quasi tutte le librerie JavaScript hanno copiato questa idea. Prototype ha anche introdotto una $$funzione per selezionare gli elementi usando il selettore CSS.
jQuery ha anche adattato la $funzione, ma ampliata per far sì che accetti tutti i tipi di "selettori" per ottenere gli elementi desiderati. Ora, se stai già utilizzando Prototype nel tuo progetto e desideri includere jQuery, avrai dei problemi, come '$'potrebbe riferirsi all'implementazione di Prototype O all'implementazione di jQuery. Ecco perché jQuery ha l'opzione noConflict in modo che tu possa includere jQuery nel tuo progetto che utilizza Prototype e migra lentamente il tuo codice. Penso che questa sia stata una mossa brillante da parte di John! :)
var $ = document.getElementById;non funziona in Firefox o Google Chrome. Dovresti usare function $(id) { return document.getElementById(id); }invece. Vedere stackoverflow.com/questions/1007340 per ulteriori informazioni.
Questo è molto probabilmente il codice jQuery (più precisamente, JavaScript che utilizza la libreria jQuery).
La $rappresenta la funzione di jQuery , ed è in realtà un alias scorciatoia per jQuery. (A differenza della maggior parte delle lingue, il $simbolo non è riservato e può essere utilizzato come nome di una variabile.) In genere viene utilizzato come selettore (ovvero una funzione che restituisce un insieme di elementi trovati nel DOM).
Come dicono tutte le altre risposte; può essere quasi tutto ma di solito è "JQuery".
Tuttavia, in ES6 è un operatore di interpolazione di stringhe in un modello "letterale", ad es.
var s = "new" ; // you can put whatever you think appropriate here.
var s2 = `There are so many ${s} ideas these days !!` ; //back-ticks not quotes
console.log(s2) ;
risultato:
Ci sono così tante nuove idee in questi giorni !!
La $()è la versione abbreviata del jQuery()utilizzato nella libreria jQuery .
Oltre alle risposte di cui sopra, $non ha alcun significato speciale in JavaScript, è libero di essere usato nella denominazione degli oggetti. In jQuery , è semplicemente usata come alias per il jQuery oggetto e jQuery () funzione. Tuttavia, è possibile che si verifichino situazioni in cui si desidera utilizzarlo insieme a un'altra libreria JS che utilizza anche $, il che comporterebbe un conflitto di denominazione. C'è un metodo in JQuery proprio per questo motivo, jQuery.noConflict().
Ecco un esempio dai documenti di jQuery :
<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict();
// Code that uses other library's $ can follow here.
</script>
In alternativa, puoi anche usare un simile
(function ($) {
// Code in which we know exactly what the meaning of $ is
} (jQuery));
Dalla documentazione di jQuery che descrive l' oggetto principale jQuery :
Molti sviluppatori antepongono $ al nome delle variabili che contengono oggetti jQuery per aiutare a differenziare. Non c'è nulla di magico in questa pratica: aiuta solo alcune persone a tenere traccia di ciò che contengono diverse variabili.