奇怪的延迟错误的事情

时间:2017-05-20 21:16:21

标签: javascript html

所以,我在html中创建一个程序,将任何十进制数转换为二进制数,这是完美的,然后我尝试修改它,并以某种方式搞砸了它。问题似乎是它需要运行时开始时的值,而不是总是抓住它,但它之前没有这样做。并且,我不知道为什么会这样做,而且我不完全确定我甚至会查找这种错误,特别是当我不知道出了什么问题时。

<!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> 

非常感谢任何和所有帮助。 C:

1 个答案:

答案 0 :(得分:1)

尝试:

<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>   

当您将函数作为函数参数传递时,不要将其称为convert(),只传递它convert