javascript, question de newb sur || {} - HTML/CSS - Programmation
Marsh Posté le 20-11-2011 à 15:39:22
toto = toto || {}
veut dire que si toto n'est pas évalué à false (genre il est undefined ou null), il prend la valeur d'un objet vide, sinon il garde sa valeur actuelle.
Pratique pour la gestion des parametres par défaut d'une fonction par exemple
Pour la partie jQuery, tu peux faire ca en effet, genre :
Code :
|
Donc si t'appelles la fonction sans parametre, ou avec undefined pour l'un d'entre eux, ca prendra les vals par défaut
Marsh Posté le 20-11-2011 à 16:21:59
t'es sur que "domain" sera évalué dans le cas de domain: domain ? (en gros comment il fait la diff entre un nom de variable et le "domain:" qui n'est pas un nom de variable)
Marsh Posté le 20-11-2011 à 17:11:21
parce que le "domain:" dont tu parles est une propriété direct d'un objet, l'autre nom.
Si tu veux êter peinard avec ca, tu peux changer la fonction et au lieu de passer X parametres, tu n'en passes qu'un seul mais sous la forme d'un objet :
Code :
|
tu appelles ca comme ca "setCookie ({ domain: "machin", laVariable: 123 });
C'est plus propre, ca te permet de passer les params dans l'ordre que tu veux, mais grosso modo, ca revient au même
Marsh Posté le 20-11-2011 à 17:14:24
ok bon à savoir, je connaissais pas la vrai syntaxe d'un objet en JS
Instinctivement j'aurais mis ca, mais j'avais quelque doute.
Marsh Posté le 19-11-2011 à 22:08:12
donc si j'ai toto = toto || {}, ca sert à quoi exactement ?
Pour ceux d'ailleurs qui ont déjà joué avec le plugin cookie de jquery , la syntaxe c'est normalement
$.cookie("lavariable", "la valeur", {expire:7, path: '/', domain: plop.com});
y a moyen que plop.com soit remplacé par une variable avec cette syntaxe ?