Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2303 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  javascript, question de newb sur || {}

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

javascript, question de newb sur || {}

n°2112427
joce
Architecte / Développeur principal
"BugHunter"
Posté le 19-11-2011 à 22:08:12  profilanswer
 

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 ?

mood
Publicité
Posté le 19-11-2011 à 22:08:12  profilanswer
 

n°2112486
SICKofitAL​L
misanthrope
Posté le 20-11-2011 à 15:39:22  profilanswer
 

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 :o

 

Pour la partie jQuery, tu peux faire ca en effet, genre :

Code :
  1. var setCookie = function  (laVariable, laValeur, domain)
  2. {
  3.   $.cookie (
  4.     laVariable || "lavariable",
  5.     laValeur || "la valeur",
  6.     { expire: 7, path: '/', domain: domain || "plop.com" }
  7.   );
  8. }
 

Donc si t'appelles la fonction sans parametre, ou avec undefined pour l'un d'entre eux, ca prendra les vals par défaut


Message édité par SICKofitALL le 20-11-2011 à 15:41:13

---------------
We deserve everything that's coming...
n°2112490
joce
Architecte / Développeur principal
"BugHunter"
Posté le 20-11-2011 à 16:21:59  profilanswer
 

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)


Message édité par joce le 20-11-2011 à 16:25:18
n°2112495
SICKofitAL​L
misanthrope
Posté le 20-11-2011 à 17:11:21  profilanswer
 

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 :
  1. var setCookie = function  (params)
  2. {
  3.   var p = {
  4.    laVariable: params.laVariable || "lavariable",
  5.    laValeur: params.laValeur || "la valeur",
  6.    domain: params.domain || "plop.com"
  7.   };
  8.   $.cookie (
  9.     p.laVariable,
  10.     p.laValeur,
  11.     { expire: 7, path: '/', domain: p.domain }
  12.   );
  13. }


 
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 :)


---------------
We deserve everything that's coming...
n°2112496
joce
Architecte / Développeur principal
"BugHunter"
Posté le 20-11-2011 à 17:14:24  profilanswer
 

ok bon à savoir, je connaissais pas la vrai syntaxe d'un objet en JS :D
Instinctivement j'aurais mis ca, mais j'avais quelque doute.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  javascript, question de newb sur || {}

 

Sujets relatifs
[Exit Status][Success/Failure] Question logique.[résolu] question bête sur un pointeur..
question sur la description structurelle en vhdlPHP + JAVASCRIPT remplacer include / iframe cross domain sans AJAX
Question : une personne dans plusieurs directions = liaison ?mysql UTF8 question
Question Arborescence Unix !!menu javascript + slider jquery avec IE7
aide javascript / css : phénomène paranormal 
Plus de sujets relatifs à : javascript, question de newb sur || {}


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR