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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  isset en javascript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

isset en javascript

n°1186526
nonau57
Posté le 28-08-2005 à 20:18:20  profilanswer
 

Bonjour,
 
Je recherche l'equivalent a la fonction PHP isset (Renvoye truc si la variable existe) en javascript.
C'est pour tester si des variables de formulaire existe.
 
Merci

mood
Publicité
Posté le 28-08-2005 à 20:18:20  profilanswer
 

n°1186530
nonau57
Posté le 28-08-2005 à 20:25:25  profilanswer
 

J'ai trouvé !!!
Pour ce que ca interesse:

Code :
  1. function isset(variable){
  2. if ( typeof( window[variable] ) != "undefined" ) {
  3.      return true;
  4.    }
  5. else {
  6.      return false;
  7.    }
  8. }


Message édité par nonau57 le 28-08-2005 à 20:25:46
n°1186532
masklinn
í dag viðrar vel til loftárása
Posté le 28-08-2005 à 20:27:56  profilanswer
 

[:pingouino]
 
Pour savoir si une variable existe ou pas en javascript il suffit de faire

if(variable){
   // elle existe
}


ou

if(!variable){
   // elle existe pas
}


[:pingouino]

Message cité 1 fois
Message édité par masklinn le 28-08-2005 à 20:28:14

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1769599
YoyoS
Posté le 05-08-2008 à 15:34:23  profilanswer
 

Merci nonau pour l'astuce, elle vient juste de me servir :)
 
Je voulais aussi faire comme Masklinn mais j'avais des erreurs sous internet explorer. Avec la tienne, tout va pour le mieux :D


---------------
Mon site de tutoriels : http://www.tutomaker.com Ma config: P35-DS4 / Q6600@3.2 / Crucial 2x1Gb 1066 5-5-5-15 / Raid0 Sam 2x320Go / Corsair HX 520w / NH-U12F / ATI 4870 / Antec P182 / Sam 204B / Pioneer DVR-212
n°1808287
johnstyle
Posté le 04-11-2008 à 18:13:44  profilanswer
 

masklinn a écrit :

[:pingouino]
 
Pour savoir si une variable existe ou pas en javascript il suffit de faire

if(variable){
   // elle existe
}


ou

if(!variable){
   // elle existe pas
}


[:pingouino]


 
Mais bien sur...
 
Voici une fonction qui remplace correctement isset :
 

Code :
  1. function isset(  ) {
  2.     // http://kevin.vanzonneveld.net
  3.     // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
  4.     // +   improved by: FremyCompany
  5.     // +   improved by: Onno Marsman
  6.     // *     example 1: isset( undefined, true);
  7.     // *     returns 1: false
  8.     // *     example 2: isset( 'Kevin van Zonneveld' );
  9.     // *     returns 2: true
  10.    
  11.     var a=arguments; var l=a.length; var i=0;
  12.    
  13.     if (l==0) {
  14.         throw new Error('Empty isset');
  15.     }
  16.    
  17.     while (i!=l) {
  18.         if (typeof(a[i])=='undefined' || a[i]===null) {
  19.             return false;
  20.         } else {
  21.             i++;
  22.         }
  23.     }
  24.     return true;
  25. }


 
source : http://kevin.vanzonneveld.net/tech [...] hps_isset/

n°1808826
mIRROR
Chevreuillobolchévik
Posté le 06-11-2008 à 02:47:21  profilanswer
 

php.js la deuxieme plus grande invention de l homme apres le khakha biodegradable [:romf]


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
n°1808829
gatsu35
Blablaté par Harko
Posté le 06-11-2008 à 07:29:48  profilanswer
 

johnstyle a écrit :

 

Mais bien sur...

 

Voici une fonction qui remplace correctement isset :

 
Code :
  1. function isset(  ) {
  2.     // http://kevin.vanzonneveld.net
  3.     // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
  4.     // +   improved by: FremyCompany
  5.     // +   improved by: Onno Marsman
  6.     // *     example 1: isset( undefined, true);
  7.     // *     returns 1: false
  8.     // *     example 2: isset( 'Kevin van Zonneveld' );
  9.     // *     returns 2: true
  10.    
  11.     var a=arguments; var l=a.length; var i=0;
  12.    
  13.     if (l==0) {
  14.         throw new Error('Empty isset');
  15.     }
  16.    
  17.     while (i!=l) {
  18.         if (typeof(a[i])=='undefined' || a[i]===null) {
  19.             return false;
  20.         } else {
  21.             i++;
  22.         }
  23.     }
  24.     return true;
  25. }
 

source : http://kevin.vanzonneveld.net/tech [...] hps_isset/


Nan mais JS c'est pas PHP okay

 


Ici on parle bien de variables globales, et une variable globale est automatiquement une propriété de l'objet window
il suffit juste de faire

 
Code :
  1. if (!window.myvariable) {
  2. // ici tu fais ta tambouille
  3. }
 

Ce que masklinn a oublié de préciser dans sa réponse, c'est que si tu dois directement tester l'existance d'une variable (qu'on soit dans une fonction ou directement à la racine), ta variable doit avoir été déclarée avant dans le code ex :

 
Code :
  1. var myVar;
  2. if (myVar) {
  3.    //do stuff
  4. }
 


En tout cas, ta balle fonction isset de merde, fait exactement ce que je vient de faire en 10 lignes de plus [:petrus75]
car dans tous les cas :

 
Code :
  1. if (isset(mavar))


pêtera aussi bien une erreur à la gueule que :

Code :
  1. if (var)


si cette variable n'a pas été déclarée avant

 


Message édité par gatsu35 le 06-11-2008 à 07:30:47
n°1917685
jak0
Posté le 23-08-2009 à 20:15:04  profilanswer
 

masklinn a écrit :

Pour savoir si une variable existe ou pas en javascript il suffit de faire

Code :
  1. if(variable){
  2.    // elle existe
  3. }


ou

Code :
  1. if(!variable){
  2.    // elle existe pas
  3. }


 

Euh, je voudrai pas paraître bête, mais...

 

Prenons l'exemple d'une variable my_bool :

Code :
  1. my_bool = false;
 

Si j'applique le

Code :
  1. if(!variable){
  2.    // elle existe pas
  3. }


Ca va me dire qu'elle n'existe pas, alors qu'elle existe... Un boolean à false, c'est quand même courant et pourtant ça marche pas avec ton truc !


Message édité par jak0 le 25-08-2009 à 00:20:30
n°1917777
FlorentG
Unité de Masse
Posté le 24-08-2009 à 10:46:42  profilanswer
 

Ya du code smell là-dessous [:pingouino]

n°1917942
jak0
Posté le 25-08-2009 à 00:21:27  profilanswer
 

du "code smell" ???
 
Personnellement ma fonction isset, c'est :

Code :
  1. function isset (variable) {
  2.   return (typeof variable != 'undefined');
  3. }


Et ça marche suffisament bien


Message édité par jak0 le 25-08-2009 à 00:25:05
mood
Publicité
Posté le 25-08-2009 à 00:21:27  profilanswer
 

n°1918292
gatsu35
Blablaté par Harko
Posté le 25-08-2009 à 19:28:29  profilanswer
 

ouais ou alors plus intelligent tu fais juste :  

Code :
  1. if (myvar!=null) {
  2. }


 
Voila tu as autant de code que si tu écrivais isset
 
faudrait arrêter les conneries et arrêter de transposer toute la merde de PHP en JS


---------------
Blablaté par Harko
n°1918299
tpierron
Posté le 25-08-2009 à 19:57:25  profilanswer
 

Ou sinon pour vraiment tester l'existence d'une propriété d'un objet (dont les variables globales font partie de l'objet window), on peut aussi utiliser :

Code :
  1. if ("property" in myObject) {
  2.  // La propriété myObject.property existe et peut éventuellement valoir null, 0, false...
  3. }
  4. // Pour les variables globales
  5. if ("varGloable" in window) {}


Jamais testé avec les variables locales, mais à moins de faire du code spaghetti avec des fonctions de 2000 lignes, je ne pense pas que ça pose problème.
 
Et quand tu n'as plus besoin de ta propriété :

Code :
  1. delete myObject.property


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

  isset en javascript

 

Sujets relatifs
validation w3c et javascript: erreur?[JavaScript] Technique pour ne pas recharger toute la page ?
[javascript]Espace insécable avec l'objet Option [Resolu][ Javascript ] Equivalent du addslashes de php
[JavaScript] popup contenant 2 imagesGérer le clic droit en javascript.
click javascriptPositionnement <SPAN> en CSS via JavaScript
Lotus Notes mail et JavaScript 
Plus de sujets relatifs à : isset en javascript


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