【发布时间】:2017-01-28 02:09:23
【问题描述】:
我知道 JavaScript。但我想知道为什么它给出了 83 个答案?它是如何工作的? alert() 方法显示一个带有指定消息和 OK 按钮的警告框。
如果您想确保信息能够传递给用户,通常会使用警告框。
但我找不到这个答案的逻辑?感谢您的帮助
【问题讨论】:
-
原因 #364 总是使用严格模式。
标签: javascript
我知道 JavaScript。但我想知道为什么它给出了 83 个答案?它是如何工作的? alert() 方法显示一个带有指定消息和 OK 按钮的警告框。
如果您想确保信息能够传递给用户,通常会使用警告框。
但我找不到这个答案的逻辑?感谢您的帮助
【问题讨论】:
标签: javascript
因为如果您以0 开头,它是一个八进制数字系统。
如果以0x 开头,则为十六进制系统。
如果您希望将值转换为number,则parseInt 方法接受第二个参数作为基数(数学数字系统中的基数)
parseInt( "0123", 8 ); => 83
parseInt( "0123", 10 ); => 123
parseInt( "0123", 16 ); => 291
更多来自MDN
整数可以用十进制(以 10 为底)、十六进制表示 (以 16 为底)、八进制(以 8 为底)和二进制(以 2 为底)。
十进制整数文字由一系列数字组成,没有 前导 0(零)。
整数文字前导 0(零)或前导 0o(或 0O)表示它是八进制的。八进制整数只能包含 数字 0-7。
前导 0x(或 0X)表示十六进制。十六进制 整数可以包含数字 (0-9) 以及字母 a-f 和 A-F。
前导 0b(或 0B)表示二进制。二进制整数只能包含数字 0 和 1.
【讨论】:
0 开始,而不是o。如果它以o 开头,JS 将尝试解析引用。
如果你在数字前面加上 0,JavaScript 会将其视为八进制数,即以 8 为底的数字。
如果您想显示一个常规数字,省略前导零是一个很好的 JavaScript 做法。
访问此网站以了解有关Octal System的更多信息
【讨论】:
.toString(8) 获得备用显示字符串,其中8 是您要用于显示的任何基础。默认值为10,这解释了为什么alert() 显示该格式。