Javascript 奇怪的延迟错误
所以,我用html编写了一个程序,可以将任何十进制数转换成二进制数,这个程序工作得很好,然后我试图修改它,不知怎么搞砸了。问题似乎是它在运行时开始时获取值,而不是总是在此时获取值,但它以前没有这样做。而且,我不知道它为什么这样做,我甚至不完全确定我会查找什么来查找这种错误,特别是当我不知道什么是错误的时候Javascript 奇怪的延迟错误,javascript,html,Javascript,Html,所以,我用html编写了一个程序,可以将任何十进制数转换成二进制数,这个程序工作得很好,然后我试图修改它,不知怎么搞砸了。问题似乎是它在运行时开始时获取值,而不是总是在此时获取值,但它以前没有这样做。而且,我不知道它为什么这样做,我甚至不完全确定我会查找什么来查找这种错误,特别是当我不知道什么是错误的时候 <!DOCTYPE html> <html> <head> </head> <body> &
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<input type = "number" id = 'decimal'></input><br/>
<a id = 'binary'></a>
<script>
setInterval(convert(),1);
function convert() {
var nNum = "";
var num = document.getElementById('decimal').value;
while(num != 0) {
nNum = (num % 2) + nNum;
num = Math.floor(num/2);
}
document.getElementById('binary').innerHTML = nNum;
}
</script>
</body>
</html>
setInterval(convert(),1);
函数转换(){
var nNum=“”;
var num=document.getElementById('decimal')。值;
while(num!=0){
nNum=(数值%2)+nNum;
num=数学楼层(num/2);
}
document.getElementById('binary')。innerHTML=nNum;
}
非常感谢您的任何帮助。c:试试:
<script>
setInterval(convert,1);
function convert() {
var nNum = "";
var num = document.getElementById('decimal').value;
while(num != 0) {
nNum = (num % 2) + nNum;
num = Math.floor(num/2);
}
document.getElementById('binary').innerHTML = nNum;
}
</script>
设置间隔(转换,1);
函数转换(){
var nNum=“”;
var num=document.getElementById('decimal')。值;
while(num!=0){
nNum=(数值%2)+nNum;
num=数学楼层(num/2);
}
document.getElementById('binary')。innerHTML=nNum;
}
当您将函数作为函数的参数传递时,您不调用它
convert()
,只传递它convert
应该是setInterval(convert,
而不是setInterval(convert()),…
Related:好的。这就解决了问题。奇怪的是,它以前是用那个代码工作的。是的。就像另一个人说的。我觉得很奇怪,因为上次我用“convert()”时它工作了@JoshuaReid如果一个答案解决了你的问题,你应该接受它,所以问题被标记为已回答。好的。是的。对不起。^其他人在评论中回答了,所以我没有能力这样做。