Forum Programmation.autre [Javascript, JQuery, Couchdb] fonction $() et variable $

Posté par  .
Étiquettes :
0
21
mai
2012

Bonjour.

Je m'intéresse depuis un moment à couchdb, mais je cale sur certains points à cause de ma méconnaissance de Javascript. Afin de combler ces lacunes, j'ai décidé de laisser Couchdb de côté le temps de comprendre un peu mieux Javascript. Globalement je m'y retrouve, sauf sur une notion étrange : le $(), et la variable $.

En effet j'ai du mal à comprendre ce que c'est; Il semble que ce soit un raccourci, qui aparamment est déclaré quelque part, mais il y a quelque chose qui m'échappe, et Google n'a pas l'air d'être mon ami.

J'ai trouvé ça :
http://osric.com/chris/accidental-developer/2008/04/the-javascript-dollar-sign-function/
http://stackoverflow.com/questions/846585/can-someone-explain-the-dollar-sign-in-javascript

et ça :
http://www.authenticsociety.com/blog/JavaScript_DollarSign

D'après ce que j'ai compris de cette lecture, il s'agit juste d'une espèce de convention, il n'y a rien de magique, mais il y a encore des choses un peu floues. Est-ce que vous auriez des liens ou une explication à me donner ? En fait je cherche à comprendre la convention d'usage de cette notation.

Merci d'avance.

  • # C'est à peu près ça

    Posté par  . Évalué à 3.

    C'est un nom court pour désigner ton framework JS en ce qui concerne $, et la fonction de sélection d’éléments pour $().

    http://code.jquery.com/jquery-1.7.2.js

    Pour l'objet $
    // Expose jQuery to the global object
    window.jQuery = window.$ = jQuery;

    Suite à quoi tout appel à $ au sein d'une page équivaut à un appel à jQuery.

    Pour la fonction $
    var jQuery = function( selector, context ) {

    Je rappelle que en JS, si j'appelle $('blabla'), c'est équivalent à $('blabla',null).
    $(selector,context) équivaut à jQuery(selector,context), CF plus haut.

    Tu peux lire tout le code si tu es motivé…

    Pour chaque personne qui me plussoie, je frappe un fan de Justin Bieber.

    • [^] # Re: C'est à peu près ça

      Posté par  . Évalué à 5.

      Ce n'est pas spécifique a jquery. En fait $ est un caractère comme un autre, donc tu peux définir une variable qui s'appelle $
      Si tu lances la console de ton navigateur, tu peux tester :

      $=1
      a=$+1
      $=function(foo) { alert(foo); }
      $('bar')

      On peut aussi utiliser $A, B$C, $$,… Ce sont tous des noms de variable valides.

      Apres chacun est libre de faire ce qu'il veut avec ; par ex prototype.js l'utilise pour avoir un espèce de super getElementById, et définit aussi $$, $F, $A,… JQuery fait encore autre chose, etc..

      On peut de même jouer avec _

      • [^] # Re: C'est à peu près ça

        Posté par  . Évalué à 2.

        Merci à vous deux pour vos réponses. En fait je crois que je cherchais à compliquer un truc tout simple. Je vais pouvoir continuer mes essais et investigation. Pour l'instant j'en suis qu'à Javascript et interaction avec le DOM, mais j'avais déjà survolé quelques exemples avec JQuery et couchdb, que j'avais un peu de mal à comprendre.

        Vos explications m'ont permis d'y voir plus clair, mais il est possible que j'ai encore quelques questions à poser si les quelques zones d'ombre qu'il me restent ne se dissipent pas.

        +1 à tous les deux.

    • [^] # Re: C'est à peu près ça

      Posté par  . Évalué à 2.

      Tu peux lire tout le code si tu es motivé…
      Disons que je risque de ne pas comprendre grand chose pour le moment (enfin, avec vos explications, ça devrait être plus clair), mais je le ferai (enfin, pas forcément tout le code quand même). Il me manque encore un peu de pratique de Javascript pour pouvoir attaquer ça.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.