2016-10-13 4 views
0

Le code suivant est ce que j'utilise pour convertir un hex en binaire. Pour imprimer une sortie binaire, j'ajoute des chaînes individuelles à une variable vide précédemment déclarée. Cependant, ceci affiche "undefined + binary". Existe-t-il un moyen de déclarer une variable sans valeur - même indéfinie. Si non, existe-t-il un meilleur moyen de concaténer des variables dans une boucle for sans une variable précédemment déclarée?Comment déclarer une variable sans valeur?

Toute aide sera appréciée!

 var integer = prompt("Insert hex digit"); 
     var userHexDigits = []; 
     var hexDigits = [0, 1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f']; 
     var binaryDigits = ['0000', '0001','0010','0011', '0100','0101','0110','0111','1000','1001','1010','1011','1100','1101','1110','1111']; 
     var hexy = []; 
     var binary 

     for(i = 0; i < integer.length; i++) { 
      digit = i + 1; 
      document.write("Your digit #" + digit + " is: " + integer[i] + "<br/>"); 
      userHexDigits.push(integer[i]); 
     } 

     for (var m = 0; m < userHexDigits.length; m++) { 
      hex = userHexDigits[m]; 

      for(k =0; k < hexDigits.length; k++) { 
       if (hex == hexDigits[k]){ 
        binary += binaryDigits[k] + " "; 
       } 
      } 

     } 

     document.write("<br/><br/>The number " + integer + " in binary is " + binary); 
+0

Initialiser chaîne vide 'var binaire = '';', puis 'binaire + = ...' fonctionnera. Les variables n'ont pas de type, leurs valeurs le font. Ils sont initialisés par défaut à * undefined * (c'est-à-dire que la valeur * undefined * est affectée). Donc, si vous concaténez en * undefined *, vous obtenez la chaîne "undefined" plus tout ce que vous concaténez. – RobG

Répondre

1

Si vous voulez une variable de chaîne avec une valeur vide juste:

var binary = "";