Archives par mot-clef : prototype

Vous avez sûrement déjà croisé ce genre de code : (function($){ /*…*/ })(jQuery); Et vous vous êtes sûrement demandé pourquoi il y a jQuery en paramètre pour être du coup re-traduit en $. Qui pourtant vaut déjà $ dans les variables globales. La blague, c’est que de nombreux sagouins ont tendance à coller diverses choses dans leurs sites en plus de jQuery. Du genre du prototype ou encore du mootools. Ou d’autres bibliothèques qui exploitent le $. Donc par sécurité, passer jQuery en paramètre vous assure que dans le corps de la fonction ci-dessus, $, c’est bien jQuery et pas autre chose. C’est d’ailleurs aussi pour ça que vous croiserez des fois ça : (function($, undefined){ /*…*/ })(jQuery); Là c’est pour vous assurer que undefined vaut bien undefined. Si si, j’ai déjà vu des bachibouzouks surcharger undefined …

Il y a peu, dans ma chronique hebdomadaire sur jQuery, je parlais d’un billet de metal3d où il critique ouvertement jQuery. De façon plutôt réfléchie d’ailleurs. Je vais donc répondre ici à son billet. Evidement j’ai choisi de défendre les couleurs de jQuery, mais pas que. Certains de ses arguments ne peuvent être remis en cause puisque cohérents. Dernière précision, dans les commentaires de la chronique, on m’a demandé si ces points avaient été abordés par l’équipe. Honnêtement, je n’en sais rien mais je suppose que oui. Sémantique Premier point abordé, voici deux lignes : $('#element').load(handler); $('#result').load('ajax/test.html'); Le reproche qu’il aborde est assez simple et pour le coup, très justifié. La première ligne est un alias (voir doc) de : .bind('load', handler) Quand à la deuxième ligne, elle sert à charger le fichier ajax/test.html (voir doc). Le problème ici est donc … Continuer la lecture

Je suppose que plusieurs d’entre vous ont déjà remarqué la syntaxe un peu particulière de nombreux frameworks JavaScript. Un bloc commun de plus ou moins grande importance revient systématiquement : (function() { [ … ] })(); jQuery, Prototype, Mootools, ExtJS, Backbone.JS et j’en passe. Auto-exécution C’est ce qui s’appelle l’auto-exécution (self-executed method en anglais). Essayez donc ce code : (function() { alert(‘test’); })(); Vous aurez une alerte avec le message test sans avoir cliqué où que ce soit. Mais pourquoi ? Ma question préférée. Pourquoi ne pas avoir tout simplement fait ça dans ce cas : alert(‘test’); C’est vrai on aurait pu et on aurait eu le même résultat. Sauf que : Isolation Essayons maintenant de faire ça : (function() { var str = « test »; alert(str); })(); alert(str); Là vous aurez une première alerte qui affichera bien test puis selon le … Continuer la lecture

Dans la suite logique de mon billet sur la notion d’objets en JavaScript, voici un point sur les nombres. Types C’est simple et pourtant particulièrement méconnu, il n’y a qu’un type de nombres en JavaScript : Number. Quand vous pensez manipuler un entier, vous vous trompez. Pour plus de praticité, tout est flottant. Certes JS n’affichera pas le point séparateur et des décimales inutiles dans le cas d’entier mais c’est bien un flottant. Et comme tout est objet en JavaScript, l’objet derrière tout ça s’appelle Number. Déclaration Comme pour beaucoup de choses en JS, il y a plusieurs façons de faire : var monNumber = 3; var unAutreNumber = new Number(4.2); var encoreUnAutreNumber = Number(5.8967); Prototype L’objet Number ne comprend que peu de méthodes : toString(arg1) Retourne une chaîne de caractères contenant la valeur de la variable. arg1 permet de … Continuer la lecture

Je me rends compte avec le temps que le développement objet en Javascript laisse souvent perplexes de très nombreux développeurs. C’est pourquoi je me lance dans une tentative d’explication pour y mettre un peu de lumière. Continuer la lecture

Le site W3Techs, spécialisé dans les statistiques des technologies web, a publié récemment une étude sur la répartition du marché par les différents frameworks Javascript. Continuer la lecture

Voici, pour moi, les 6 règles incontournables pour bien développer en Ajax. Continuer la lecture