2016-10-13 5 views
0

Следующий код - это то, что я использую для преобразования hex в двоичный. Чтобы распечатать двоичный код, я добавляю отдельные строки к ранее объявленной пустой переменной. Однако это выводит «undefined + binary». Есть ли способ объявить переменную без значения - не определено. Если нет, то есть лучший способ конкатенации переменных в цикле for без ранее объявленной переменной?Как объявить переменную без значения?

Вся помощь будет оценена!

 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

Initialise пустой строкой 'варом двоичным = '';', то 'двоичным + = ...' будет работать. Переменные не имеют типа, их значения. По умолчанию они инициализируются * undefined * (т. Е. Назначают значение * undefined *). Поэтому, если вы соединитесь с * undefined *, вы получите строку «undefined» плюс все, что вы конкатенируете. – RobG

ответ

1

Если вы хотите переменную строку с пустым значением просто:

var binary = ""; 
Смежные вопросы