在Javascript中是否有“0b”或类似的东西来表示二进制数
2022-08-30 01:44:53
我知道这是Javascript中十六进制数字的前缀。例如,代表数字 255。0x
0xFF
二进制数有类似的东西吗?我希望代表数字,但这对我不起作用。0b1111
15
我知道这是Javascript中十六进制数字的前缀。例如,代表数字 255。0x
0xFF
二进制数有类似的东西吗?我希望代表数字,但这对我不起作用。0b1111
15
更新:
较新版本的 JavaScript(特别是 ECMAScript 6)添加了对二进制(前缀)、八进制(前缀)和十六进制(前缀:)数字文字的支持:0b
0o
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
在ECMASCript 6中,这将作为语言的一部分得到支持,即 是真的。您也可以使用大写的 B(例如 )。0b1111 === 15
0B1111
在 ES6 规范中查找。NumericLiterals