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

标签 javascript

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

二进制数是否有类似的东西?我希望 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 到来时支持。

(感谢 Semicolon 的评论和 urish's answer 指出这一点。)

原答案:

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

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

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

关于javascript - 是否有 "0b"或类似的东西来表示 Javascript 中的二进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2803145/

相关文章:

javascript - 如何在打印完成或取消时执行一些 JavaScript

javascript - HTMLDivElement 的焦点和模糊事件?

javascript - 触发登录窗口

javascript - 如何将 XMLHttpRequest 中的查询字符串参数发送到 php 页面

javascript - 使用 javascript 替换匹配的单词

javascript - 使用 HIGHCHARTS (xAxis dateTime) 添加点

javascript - 将脚本应用到具有唯一 ID 的多个视频标签

javascript - Google 资助选择不起作用 - googlefc.getConsentStatus() 始终返回 UNKNOWN

javascript - 如何使用 JS 或 Jquery 删除父 html 元素?

javascript - ajax 调用后丢失了一个变量。另一个发现