为什么十六进制值在javascript中以数字形式返回

Ime*_*iri 3 javascript hex

我在浏览器控制台中尝试了以下代码.

var testingVar = 0xffff00;
Run Code Online (Sandbox Code Playgroud)

当我访问变量时,它返回值16776960而不是hexa值.为什么会这样?我们不能在变量中存储hexa值.

Dan*_*nce 6

在Javascript中没有"十六进制值"这样的东西.有字符串和数字.

0xffff00只是指定数字的替代语法.默认情况下,控制台将以十进制(基数10)打印数字,这就是您看到的原因16776960.

您可以使用与toString方法不同的基础来查看数字的字符串表示形式.

// hex
(0xffff00).toString(16) // "0xffff00"
// decimal
(0xffff00).toString(10) // "16776960"
// octal (for good measure)
(0xffff00).toString(10) // "77777400"
Run Code Online (Sandbox Code Playgroud)