7
votes

Langue JavaScript et la $ en jQuery

Je me demandais, comment va le $. en $ .ajax ({...}); travail? Cela n'a pas de sens pour moi. Bien sûr .ajax en tant que membre a du sens mais $ n'est pas un nom de variable? ou est-ce? Comment est-il défini?


2 commentaires

C'est un nom de fonction, une lecture de la source de jQuery. La fonction renvoie efficacement un objet JQuery qui a le membre «Ajax».


@Lazarus: En réalité, bien que la fonction $ renvoie un objet JQuery quand appelé, ce n'est pas ce qui se passe ici. $, comme toutes les fonctions de JS, est un objet et peut avoir ses propres propriétés (c'est-à-dire Ajax). L'objet JQuery est renvoyé lors de l'appelant $ ("") N'a pas de propriété Ajax (Type de Typeof $ (""). Ajax par opposition à type de $ .AJAX)


6 Réponses :


16
votes

$ est la même chose que jQuery. C'est-à-dire que vous pouvez écrire jQuery.ajax (...) etc.

La partie déroutante est $ est un caractère légal des noms de variables JavaScript. Il n'a pas de signification particulière, comme dans PHP ou Perl, par exemple.


0 commentaires

10
votes

à partir de la source: xxx

C'est une fonction (objet de première classe) avec des propriétés, telles que la fonction ajax la fonction que vous avez mentionnée.

"$" est un caractère valide pour les noms de variables, et comme vous pouvez le constater à partir de l'extrait de code, $ est identique au jQuery . < / p>


0 commentaires

1
votes

$ est l'un des seuls caractères légaux pouvant être utilisés dans les noms de variables JavaScript. JQuery et d'autres bibliothèques tirent parti de cette initialisation $ pour être une fonction qui initialise l'objet JQuery.

Si je me souviens bien que le code ressemble quelque peu à ce qui suit: P>

$ = window.jQuery = function(){
    return new jQuery(args);
}


0 commentaires

2
votes

$ Celui-ci est défini dans la bibliothèque de JQuery pour être une référence à JQuery Shorter. Vous pouvez télécharger la bibliothèque et voir les premières lignes: xxx

cette "fenêtre. $", "$" Appartient à l'environnement d'objet de la fenêtre.


0 commentaires

1
votes

en JavaScript, les fonctions sont des objets (pouvant être contenus par des variables). En tant que tel, ils peuvent avoir des propriétés (et des méthodes qui ne sont que des propriétés avec des fonctions comme des valeurs). Essayez ceci:

function test () {
    alert("hey!");
}
test.foo = function (msg) {
    alert("you said: "+msg);
};

test(); //alerts "hey!"
test.foo("123") //alerts ""you said: 123".

//note that I'm not calling test().foo(),
//as test() returns nothing, though it could
//return an object (with a foo() or any other method itself!)


0 commentaires

2
votes

Comme expliqué dans un certain nombre de ressources JavaScript, y compris Guide JavaScript de Mozilla :

Un identifiant JavaScript doit commencer par une lettre, un trait de soulignement (_) ou un signe dollar ($); Les caractères suivants peuvent également être des chiffres (0-9). Étant donné que JavaScript est sensible à la casse, les lettres incluent les caractères "A" à travers "Z" (majuscules) et les caractères "A" via "Z" (minuscule).

Voilà donc les suivants (bien que malvisés) en JavaScript: xxx


0 commentaires