0
votes

S'il vous plaît quelqu'un peut-il expliquer ce code javascript court et sucré

var x=1

if(x){
  x=0;
}
if(x){
  x=1
};
alert(x);
Can't get my head around why is it 0.

1 commentaires

Vraiment, vous pensez que le titre et le corps de cette question permettront aux autres visiteurs de trouver une connaissance utile?


7 Réponses :


7
votes

avec xxx pré>

x code> commence la vérité. Cela signifie que le premier si code> est rempli: p> xxx pré>

faisant x code> faux (0), donc le second Si code> ne fonctionne pas p>

if(x){


0 commentaires

2
votes
var x=1

if(x){ // x is 1 here condition success
  x=0; // so x is assigned as 0
}                                                                                                                                
if(x){ // so here x is 0 so condition fails
  x=1
};
alert(x); // then it alerts 0

0 commentaires

2
votes

première x est la vérité (1) de sorte que la première instruction si elle est exécutée, elle est faite 0. Ceci est FALSY, la seconde si la déclaration est ignorée et la valeur de x (0) est alertée.


0 commentaires

1
votes

Il y a 6 valeurs de FALSY en JavaScript.

  • faux li>
  • 0 li>
  • "", '', `` (longueur de chaîne) li>
  • null li>
  • indéfini li>
  • nan li> ul>

    p>

    var x=1
    
    if(x) { // x is 1 = truthy
      x=0; // x is now 0
    }                                                                                                                                
    if(x) { // x is 0 = falsy (as per above explanation)
      x=1
    };
    alert(x); // alert 0
    


0 commentaires

2
votes
  1. Contrôle atteint la logique à l'intérieur d'un si instruction si la valeur à l'intérieur d'un support est Truthy .
  2. Toutes les valeurs sont véridées à moins qu'elles ne soient définies comme FALSY .
  3. Les personnes ci-dessus ont magnifiquement expliqué quels sont les différents types de valeurs FALSY .

    Donc, à la fin, il s'avère être 0.

    Je pense que cette déclaration a été quelque chose comme.

    si (x === 1) {// Quelqu'un code}

    Cela aurait fait plus de sens. Il suffit de penser que le code ci-dessus fonctionne et les choses auront un sens.


0 commentaires

2
votes

Alors voici mon problème expliquant ce que j'ai compris. Ici, nous attribuons la valeur 1 à la variable x. xxx

suivant, nous vérifions la valeur de x. xxx

ici Si (x) La condition sera affirmée comme vraie si la variable x est soit:

  • attribué et initialisé
  • pas null
  • pas non défini
  • pas vide
  • supérieur à 0
  • est un nombre
  • true

    SO x = 1, par conséquent, il attribue la valeur 0 à x. Maintenant, dans la condition suivante, X sera égal à 0. Donc, la condition n'est pas affirmée comme vraie. Et x ne sera pas attribué la valeur 1. Par conséquent, vous obtenez l'alerte comme 0. J'espère que cela a du sens.


0 commentaires

2
votes

Ce que vous cherchez, c'est, coercition 'dans JavaScript. Lorsque nous utilisons un type de variable JavaScript dans un lieu / une fonction / état, etc. Lorsque vous attendez un autre type de variable, le JavaScript ne jette pas une erreur. Au lieu de cela, cela change la valeur de la variable à ce type de variable spécifique. Sa cercation appelée.

Par exemple: xxx

dans le code ci-dessus, la chaîne NULL est contrainte à FALSE.

De même, dans votre code, la force se produit: xxx

Pour plus de détails, ceci Link .


0 commentaires