我正在尝试学习Javascript。为什么这不起作用?
function test() {
var x,z;
$x = document.getElementById("input").value;
$z = ($x).toString(2);
document.getElementById("demo").innerHTML = $z;
}

<input type="text" id="input">
<button onclick="test()">Try it</button>
<p id="demo"></p>
&#13;
答案 0 :(得分:2)
您的$x
是一个字符串,而不是一个数字。
要将其转换为数字,您可以使用unary +
operator。
然后,toString(2)
将起作用:
function test() {
var $x = +document.getElementById("input").value,
$z = $x.toString(2);
document.getElementById("demo").innerHTML = $z;
}
<input type="text" id="input">
<button onclick="test()">Try it</button>
<p id="demo"></p>
答案 1 :(得分:0)
您需要以$x
方式将int
转换为parseInt()
...
$z = (parseInt($x)).toString(2);
修改功能......
function test() {
var x,z;
$x = +document.getElementById("input").value;
$z = ($x).toString(2);
document.getElementById("demo").innerHTML = $z;
}
工作Fiddle