Bonjour à tous!
Voila j'essaye de comprendre un peu comment fonctionne jQuery, mais je me pose une grosse question concernant le debut du code.
Voici le début:
Je ne comprends pas comment l'objet jQuery est créé. En effet, d'après le code source il représente une fonction qui renvoie un objet mais celui-ci fait appel a jQuery.fn, donc j'ai l'impression qu'il s'appel lui même, pour moi ca se mord la queue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 jQuery = window.jQuery = window.$ = function( selector, context ) { // The jQuery object is actually just the init constructor 'enhanced' return new jQuery.fn.init( selector, context ); }, ... jQuery.fn = jQuery.prototype = { init: function( selector, context ) { // Make sure that a selection was provided selector = selector || document; ............................
A moins que le jQuery du jQuery.fn soit différent du jQuery
De plus si j'ai bein compris, jQuery ou $ est une fonction qui renvoie un objet. D'ailleurs on peut ajouter des attributs ou méthodes a jQuery, comme ceci:
$.monAttribut, $.maMethode.
Pourtant lorsque je test le "$" avec alert(), comme ceci:
j'obtiens le code source de la fonction jQuery que j'ai mis au dessus c'est à dire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part alert($);
Donc "$" est juste vu comme une fonction pourtant on peut lui appliquer des attributs comme je l'ai montré ci-dessus. D'où mon autre question quelle partie du code de jQuery permet de passer de "$" (ou jQuery) fonction à $ objet selon les cas?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function( selector, context ) { // The jQuery object is actually just the init constructor 'enhanced' return new jQuery.fn.init( selector, context ); },
Quelqu'un peut-il m'expliquer svp?
J'ai éssayé d'être le plus clair possible, si vous ne comprenez pas ce que je n'ai pas compris n'hésitez pas à me le dire.
Merci
Partager