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);
完成,我有点理解,但希望得到进一步的解释。
答案 0 :(得分:0)
/[^0-9]/g
是一个正则表达式,匹配任何非十进制数字。如果/[^0-9]/g.test(x)
包含任何非数字,则x
将为真。如果x == ""
是空字符串,则x
为真。如果(/[^0-9]/g.test(x)) || x == "")
为空或包含非数字,则组合它们x
为真。换句话说,如果输入不是十进制数字序列,则为真。您可以在http://www.regular-expressions.info/
x = parseInt(x);
调用Javascript parseInt()
函数,该函数将表示整数的字符串转换为整数。顺便说一下,你应该总是提供第二个参数来指定基数,因为它可能在实现之间有所不同;通常应该x = parseInt(x, 10);
表示您正在解析小数。
var bin = x.toString(2);
调用Javascript Number.prototype.toString
方法。这会将数字转换为指定输出基数中的字符串。基数2是二进制。