javascript:start
Différences
Ci-dessous, les différences entre deux révisions de la page.
javascript:start [05/06/2012 14:52] – créée daniel | javascript:start [13/03/2025 14:48] (Version actuelle) – supprimée daniel | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Javascript ====== | ||
- | Une section dédiée au javascript, avec qq trucs et [[astuces]] | ||
- | J' | ||
- | |||
- | En fait, je n' | ||
- | |||
- | Il ne s'agit donc pas du tout d'un tutoriel pour apprendre le langage, juste un pointage de particularités de ce langage. Attention, c'est pas forcément très didactique pour un débutant, le but est de soulever ces particularités, | ||
- | |||
- | Tous les bouts de code peuvent être copiés / collés dans une console firebug | ||
- | |||
- | ===== Objets et fonctions ===== | ||
- | Une fonction est un objet (elle peut avoir des propriétés et méthodes !) qui a en plus, par rapport à un objet " | ||
- | * un [[# | ||
- | * un corps, c'est le code qui s' | ||
- | * un contexte d' | ||
- | |||
- | ==== Constructeur ==== | ||
- | C'est une fonction comme une autre censée renvoyer un objet (c'est pour ça qu'on l'a appelée comme ça), qu'on est censé appeler avec " | ||
- | <code javascript> | ||
- | // un constructeur | ||
- | function Truc(nom, contenu) { | ||
- | this.nom = nom || " | ||
- | this.contenu = contenu || ""; | ||
- | return this; | ||
- | } | ||
- | |||
- | var truc1 = new Truc(" | ||
- | // mais on aurait pu aussi faire | ||
- | var truc2 = {}; | ||
- | Truc.call(truc2, | ||
- | // ou encore l' | ||
- | var truc3clone2 = {nom:" | ||
- | var truc4clone2 = new Truc(" | ||
- | console.log(truc1 , truc2, truc3clone2, | ||
- | // c'est vraiment pareil ? | ||
- | console.log(" | ||
- | console.log(" | ||
- | console.log(" | ||
- | // évidemment avec === c'est encore moins vrai | ||
- | </ | ||
- | |||
- | ==== prototype ==== | ||
- | Dans l' | ||
- | <code javascript> | ||
- | // la preuve que ma fct Truc est aussi un objet, il a une propriété " | ||
- | Truc.prototype.ajouterMachin = function(valeurMachin) { | ||
- | this.machin = valeurMachin; | ||
- | } | ||
- | truc1.ajouterMachin(" | ||
- | console.log(truc1); | ||
- | truc2.ajouterMachin(" | ||
- | console.log(truc2); | ||
- | </ | ||
- | |||
- | Donc, être un Truc (plutôt qu'un Object) permet de profiter du prototype de truc. | ||
- | |||
- | Le prototype d'une fonction permet d' | ||
- | |||
- | Ça marche évidemment pour modifier en cours de route ce que fait une méthode qui existait déjà. | ||
- | |||
- | Évidemment, | ||
- | |||
- | De plus, le code d'une méthode ajouté via le prototype est commun à tous les objets. | ||
- | |||
- | ===== Portée / contexte ===== | ||
- | Les variables sont locales à une fonction, mais pas à un bloc. Par ailleurs, à l' | ||
- | |||
- | <code javascript> | ||
- | function truc() { | ||
- | var tata = 1 | ||
- | console.log(toto); | ||
- | if (tata > 2) { | ||
- | var toto; | ||
- | } | ||
- | } | ||
- | truc() | ||
- | </ | ||
- | |||
- | ===== Fonction anonymes ===== | ||
- | à poursuivre |
javascript/start.1338900778.txt.gz · Dernière modification : 05/06/2012 14:52 de daniel