我不知道这段代码中的这些符号是什么意思。十进制转二进制

I dont know what these symbols in this code mean. Decimal to binary

function dec2bin (decimal) {
var x = document.getElementById("deci").value;
if ((/[^0-9]/g.test(x)) || x == "") {
alert ("You must enter an integer decimal number!");
document.getElementById("deci").value = "";
document.getElementById("deci").focus();
return false;
}
x = parseInt(x);
var bin = x.toString(2);

var figs = "The binary representation of " + x + " is " + bin + "<br>";

document.getElementById("result").innerHTML = figs;

这是老师给我们的示例代码。它是一个十进制到二进制转换器。我不完全确定其中一些符号的含义。例如,if 语句。

究竟是什么
(/[^0-9]/g.test(x)) || x == "")

做什么?还有

究竟是什么
x = parseInt(x);
var bin = x.toString(2);

完成,我有点理解,但想进一步解释。

  1. /[^0-9]/g 是匹配任何非十进制数字的正则表达式。因此,如果 x 包含任何非数字,则 /[^0-9]/g.test(x) 将为真。如果 x 是空字符串,则 x == "" 为真。组合它们,如果 x 为空或包含非数字,则 (/[^0-9]/g.test(x)) || x == "") 为真。换句话说,如果输入不是十进制数字序列,则为真。您可以在 http://www.regular-expressions.info/

  2. 了解有关正则表达式的更多信息
  3. x = parseInt(x); 调用 Javascript parseInt() 函数,该函数将表示整数的字符串转换为整数。顺便说一句,您应该始终提供第二个参数来指定基数,因为它可能因实现而异;它通常应该是 x = parseInt(x, 10); 来表示你正在解析小数。

  4. var bin = x.toString(2); 调用 Javascript Number.prototype.toString 方法。这会将数字转换为指定输出基数中的字符串。基数 2 是二进制。