我知道这0x是 Javascript 中十六进制数字的前缀。例如,0xFF代表数字 255。
0x
0xFF
二进制数有类似的东西吗?我希望0b1111代表 number 15,但这对我不起作用。
0b1111
15
更新:
较新版本的 JavaScript - 特别是 ECMAScript 6 - 增加了对二进制 (prefix 0b)、八进制 (prefix 0o) 和十六进制 (prefix: 0x) 数字文字的支持:
0b
0o
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)格式的数字文字。
0
parseInt一种可能的替代方法是将二进制字符串与基数一起传递给方法:
parseInt
var foo = parseInt('1111', 2); // foo will be set to 15