#javascript #binary #undefined #string-concatenation
#javascript #двоичный #не определено #конкатенация строк
Вопрос:
Следующий код я использую для преобразования шестнадцатеричного числа в двоичное. Чтобы распечатать двоичный файл, я добавляю отдельные строки в ранее объявленную пустую переменную. Однако при этом выводится «неопределенный двоичный». Есть ли способ объявить переменную без значения — даже неопределенную. Если нет, есть ли лучший способ объединить переменные в цикле 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);
Комментарии:
1. Инициализируйте пустой строкой
var binary = '';
, тогдаbinary = ...
будет работать. У переменных нет типа, у их значений есть. По умолчанию они инициализируются значением undefined (т.Е. присваивается значение undefined ). Итак, если вы объединяете в undefined , вы получаете строку «undefined» плюс все, что вы объединяете.
Ответ №1:
Если вам нужна строковая переменная с пустым значением, просто:
var binary = "";