2017-03-17 1 views
-4

Je voudrais vous demander quelle est la valeur retournée lorsque vous passez le code ('0'? '0': '1'), et je veux dire spécifiquement pourquoi '0' est considéré comme vrai et quelle est la valeur réelle qui est retournée quand vous demandez si une chaîne est vraie comme ça, je sais qu'elle peut aussi être écrite comme si ('0') {'0'} else {'1'} Je veux juste savoir pourquoi la chaîne '0' est considérée comme vraie et si toutes les chaînes sont vraies si vous avez des conditions comme celle-ci.Pouvez-vous s'il vous plaît m'expliquer ce qui se passe

Merci d'avance!

+2

votre code. Envisagez également d'ajouter un bon titre. –

+1

_ "Pouvez-vous s'il vous plaît m'expliquer ce qui se passe" _ [[demander] vous explique pourquoi c'est un titre de question très moche - alors s'il vous plaît allez lire tout d'abord. – CBroe

Répondre

1

Quand vous dites « 0 », vous faites référence au caractère ASCII « 0 » qui est en fait 48 fois converti en int, et par conséquent les résultats dans un vrai ...

Toute valeur qui existe dans un des résultats true dans javascript if ou conditionnel. Peu de valeurs valant un false sont un int 0, un booléen false ou une variable indéfinie (non non déclarée).

Pour des exemples ci-dessous:

var d; 
 
if(d) alert("exists"); 
 
else alert("d undefined"); 
 

 
d="a"; 
 
if(d) alert("exists"); 
 
else alert("d undefined"); 
 

 
//if(x) // Commented out because this is an error because x identifier does not exist (declared) yet. 
 

 
if(1) alert("1 is true"); 
 
else alert("1 is false"); 
 

 
if("false") alert("String false results in true"); 
 

 
if(false) alert("This won't be displyed");

+0

Merci beaucoup, ça m'a vraiment aidé! –