【问题标题】:How to declare a variable with no value?如何声明一个没有值的变量?
【发布时间】:2016-10-13 05:11:57
【问题描述】:

以下代码是我用来将十六进制转换为二进制的代码。为了打印二进制文件,我将单个字符串添加到先前声明的空白变量中。但是,这会打印出“未定义 + 二进制”。有没有办法声明一个没有值的变量——甚至是未定义的。如果没有,有没有更好的方法在没有先前声明的变量的情况下在 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);

【问题讨论】:

  • 初始化为空字符串var binary = '';,然后binary += ...就可以了。变量没有类型,它们的值有。它们默认初始化为 undefined (即分配了 undefined 值)。所以如果你连接到 undefined 你会得到字符串“undefined”加上你连接的任何东西。

标签: javascript binary undefined string-concatenation


【解决方案1】:

如果你想要一个空值的字符串变量:

var binary = "";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-03
    • 2011-05-07
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多