2010-09-01 6 views
0

en utilisant javascriptsi l'instruction est exécutée sur false?

J'ai une fonction

function test(variable) 
{ 
    if(variable != 'undefined') 
    { 
    console.log('variable is not set'); 
    console.log('variable', where); 
    } 
} 

je l'appelle à l'aide test();

encore dans la console que je reçois « où n'est pas réglé » « où est défini comme non définie »

pourquoi?


Mise à jour Cette fonction n'est pas celle que j'utilise actuellement.

La fonction ne doit rien faire si la variable n'est pas définie.

l'exemple était de montrer que l'instruction if ne fonctionnait pas.

Mais la question me était en fait utiliser si variable != 'undefined' au lieu de variable != undefined

Répondre

4

Vous testez si variable a le contenu de chaîne de "undefined".

Qu'est-ce que vous voulez sans doute est

if(typeof variable != 'undefined') 

Le reste de la fonction ne fait pas de sens pour moi encore, que ce soit. D'où vient le where?

6

Vous avez deux console.log appels dans la même branche if. Pour ce faire, à la place:

function test(variable) 
{ 
    if(variable != 'undefined') 
    { 
    console.log('where is not set'); 
    } 
    else 
    { 
    console.log('where is set as ', where); 
    } 
} 

En outre: Si vous voulez tester si une variable est définie, utilisez le typeof operator pour tester le type: typeof variable != 'undefined'. Actuellement, vous venez de tester si variable n'est pas égal à la valeur de chaîne 'undefined'.

-1

Je ne comprends pas très bien votre question, mais essayez d'utiliser un autre nom de paramètre au lieu de "variable". Voir si l'erreur est toujours là.

Plus appelez la fonction comme ceci: test (paramterValueHere);

Meilleur

-1

Essayez ceci;

if(variable !== 'undefined') 
Questions connexes