我在浏览器控制台中尝试了以下代码。
var testingVar = 0xffff00;
当我访问变量时,它返回值 16776960
而不是 hexa 值。为什么会这样?我们不能在变量中存储十六进制值吗。
最佳答案
Javascript 中没有“十六进制值”这样的东西。有字符串和数字。
0xffff00
只是指定数字的另一种语法。默认情况下,控制台将以十进制(基数 10)打印数字,这就是您看到 16776960
的原因。
您可以看到数字的字符串表示,使用与 toString
不同的基数方法。
// hex
(0xffff00).toString(16) // "0xffff00"
// decimal
(0xffff00).toString(10) // "16776960"
// octal (for good measure)
(0xffff00).toString(10) // "77777400"
关于javascript - 为什么十六进制值在 javascript 中作为数字返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33799968/