Dans le code JavaScript suivant, il y a un $signe dollar ( ). Qu'est-ce que ça veut dire?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
Dans le code JavaScript suivant, il y a un $signe dollar ( ). Qu'est-ce que ça veut dire?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
Réponses:
Votre extrait de code ressemble à des méthodes de référence de l'une des bibliothèques JavaScript les plus populaires (jQuery, ProtoType, mooTools, etc.).
Il n'y a rien de mystérieux dans l'utilisation de $JavaScript. $est simplement un identifiant JavaScript valide.
JavaScript autorise les lettres majuscules et minuscules, les chiffres $et _. Le a $été conçu pour être utilisé pour les variables générées par la machine (telles que $0001).
Prototype, jQuery et la plupart des bibliothèques javascript utilisent le $comme objet (ou fonction) de base principal. La plupart d'entre eux ont également un moyen d'abandonner le $afin qu'il puisse être utilisé avec une autre bibliothèque qui l'utilise. Dans ce cas, vous utilisez à la jQueryplace de $. En fait, ce $n'est qu'un raccourci pour jQuery.
D' une autre réponse :
Un peu d'histoire
N'oubliez pas qu'il n'y a rien de spécial en soi $. C'est un nom de variable comme les autres. Autrefois, les gens écrivaient du code en utilisant document.getElementById. Parce que JavaScript est sensible à la casse, il était normal de faire une erreur lors de l'écriture document.getElementById. Dois-je capital 'b'de 'by'? Dois-je capital 'i'de Id?vous obtenir la dérive. Étant donné que les fonctions sont des citoyens de première classe en JavaScript, vous pouvez toujours le faire:
var $ = document.getElementById; //freedom from document.getElementById!
Lorsque la bibliothèque Prototype est arrivée, ils ont nommé leur fonction, qui obtient les éléments DOM, comme '$'. Presque toutes les bibliothèques JavaScript ont copié cette idée. Prototype a également introduit une $$fonction pour sélectionner des éléments à l'aide du sélecteur CSS.
jQuery a également adapté la $fonction mais développé pour lui faire accepter toutes sortes de 'sélecteurs' pour obtenir les éléments que vous voulez. Maintenant, si vous utilisez déjà Prototype dans votre projet et que vous vouliez inclure jQuery, vous rencontrerez des problèmes comme vous '$'pourriez vous référer à l'implémentation de Prototype OU à l'implémentation de jQuery. C'est pourquoi jQuery a l'option de noConflict afin que vous puissiez inclure jQuery dans votre projet qui utilise Prototype et migrer lentement votre code. Je pense que c'était un geste brillant de la part de John! :)
var $ = document.getElementById;ne fonctionne pas dans Firefox ou Google Chrome. Vous devriez utiliser à la function $(id) { return document.getElementById(id); }place. Voir stackoverflow.com/questions/1007340 pour plus d'informations.
C'est probablement jQuery code (plus précisément, JavaScript utilisant la bibliothèque jQuery).
Le $représente la fonction jQuery et est en fait un alias abrégé pour jQuery. (Contrairement à la plupart des langages, le $symbole n'est pas réservé et peut être utilisé comme nom de variable.) Il est généralement utilisé comme sélecteur (c'est-à-dire une fonction qui renvoie un ensemble d'éléments trouvés dans le DOM).
Comme le disent toutes les autres réponses; cela peut être presque n'importe quoi mais c'est généralement "JQuery".
Cependant, dans ES6, il s'agit d'un opérateur d'interpolation de chaîne dans un modèle "littéral" par exemple.
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) ;
résultat:
Il y a tellement de nouvelles idées ces jours-ci !!
Le $()est la version abrégée de jQuery()utilisé dans la bibliothèque jQuery .
En plus des réponses ci-dessus, $n'a pas de signification particulière en javascript, il est gratuit pour être utilisé dans la dénomination des objets. En jQuery , il est simplement utilisé comme un alias pour le jQuery objet et jQuery () fonction. Cependant, vous pouvez rencontrer des situations où vous souhaitez l'utiliser conjointement avec une autre bibliothèque JS qui utilise également $, ce qui entraînerait un conflit de dénomination. Il existe une méthode dans JQuery juste pour cette raison,jQuery.noConflict() .
Voici un échantillon de la documentation jQuery :
<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict();
// Code that uses other library's $ can follow here.
</script>
Alternativement, vous pouvez également utiliser un comme celui-ci
(function ($) {
// Code in which we know exactly what the meaning of $ is
} (jQuery));
À partir de la documentation jQuery décrivant l' objet jQuery Core :
De nombreux développeurs préfixent un $ au nom des variables qui contiennent des objets jQuery afin d'aider à se différencier. Il n'y a rien de magique dans cette pratique - cela aide simplement certaines personnes à garder une trace de ce que les différentes variables contiennent.