Javascript 为什么不是';我的输出不是以8为基数吗?

Javascript 为什么不是';我的输出不是以8为基数吗?,javascript,clock,base,Javascript,Clock,Base,所以我想做一个8进制的时钟。为了方便起见,仍然每天使用24 308小时。我本以为在最后一步将indivual值转换为基数8,然后按顺序抛出并显示它们会起作用,但我得到了一些奇怪的值,这些值与当前时间相差甚远。它甚至给了我像9这样的数字。Base8没有9,只有118 是的,我是根据我在一个网站上找到的时钟代码,我变得懒惰了。也许这就是我的失败。但谁能告诉我哪里出了问题 您不正确地使用了parseInt函数。第二个参数是“一个介于2和36之间的整数,表示所提供字符串的基数(数学数字系统中的基数

所以我想做一个8进制的时钟。为了方便起见,仍然每天使用24 308小时。我本以为在最后一步将indivual值转换为基数8,然后按顺序抛出并显示它们会起作用,但我得到了一些奇怪的值,这些值与当前时间相差甚远。它甚至给了我像9这样的数字。Base8没有9,只有118

是的,我是根据我在一个网站上找到的时钟代码,我变得懒惰了。也许这就是我的失败。但谁能告诉我哪里出了问题



您不正确地使用了parseInt函数。第二个参数是“一个介于2和36之间的整数,表示所提供字符串的基数(数学数字系统中的基数)。”因为您的输入是十进制的,但您的参数表示它是八进制的,所以函数无法按预期工作。

除了您需要执行的操作之外

setTimeout(show2, 1000)
如果没有“and(),则使用parseInt是错误的,基数是字符串已经表示的基数

你需要这样做

var hour8 = parseInt(hours).toString(8)
参见
parseInt(…)
不需要,只需
var hour8=hours.toString(8);