小编典典

是否有“0b”或类似的东西来表示Javascript中的二进制数

all

我知道这0x是 Javascript 中十六进制数字的前缀。例如,0xFF代表数字 255。

二进制数有类似的东西吗?我希望0b1111代表 number 15,但这对我不起作用。


阅读 54

收藏
2022-08-05

共1个答案

小编典典

更新:

较新版本的 JavaScript - 特别是 ECMAScript 6 - 增加了对二进制 (prefix 0b)、八进制 (prefix 0o)
和十六进制 (prefix: 0x) 数字文字的支持:

var bin = 0b1111;    // bin will be set to 15
var oct = 0o17;      // oct will be set to 15
var oxx = 017;       // oxx will be set to 15
var hex = 0xF;       // hex will be set to 15
// note: bB oO xX are all valid

此功能已在 Firefox 和 Chrome 中可用。IE 目前不支持它,但显然会在 Spartan 到来时支持。

原答案:

不,二进制数没有等价物。JavaScript 仅支持十进制(无前缀)、十六进制(前缀0x)和八进制(前缀0)格式的数字文字。

parseInt一种可能的替代方法是将二进制字符串与基数一起传递给方法:

var foo = parseInt('1111', 2);    // foo will be set to 15
2022-08-05