oco*_*mfd 72 javascript numbers
假设我写的0.5
是0.-5
在意想不到的方式,但它仍然可以运行.是什么0.
在0.-5
这样做,它可以仍然可以运行,计算结果为-5?
我也试过alert(0.-5+1)
打印-4,JavaScript忽略0.
了0.-5
吗?
Cer*_*nce 173
a后面的跟踪数字.
是可选的:
console.log(0. === 0); // true
Run Code Online (Sandbox Code Playgroud)
所以
0.-5
Run Code Online (Sandbox Code Playgroud)
评价
0 - 5
Run Code Online (Sandbox Code Playgroud)
这只是-5
.同样的,
0.-5+1
Run Code Online (Sandbox Code Playgroud)
是
0 - 5 + 1
Run Code Online (Sandbox Code Playgroud)
是的
-5 + 1
Run Code Online (Sandbox Code Playgroud)
或-4
.
Sal*_*n A 45
0.-5
可以成功解析为0.
[1],-
和5
.下面是AST explorer生成的表达式的抽象语法树:
这(以意想不到的方式)是有效的JavaScript并且评估为-5
.
[1]根据数字文字的语法,十进制数字和指数部分是可选的:
NumericLiteral ::
DecimalLiteral
[...]DecimalLiteral ::
DecimalIntegerLiteral.DecimalDigits opt ExponentPart opt
Cha*_*lie 38
在JS中,您可以使用可选的小数点表示数字.
x = 5.; //5
x = 5. + 6. //11
Run Code Online (Sandbox Code Playgroud)
从Tvde1的评论来看,任何Number方法也可以应用.
5..toString()
Run Code Online (Sandbox Code Playgroud)
这个语法让我们运行没有括号的数字函数.
5.toString() //error
(5).toString() //good
5..toString() //good
5 .toString() // awesome
Run Code Online (Sandbox Code Playgroud)
看到这个问题,找出原因.
小智 6
console.log(0. - 5) // -5
console.log(0 - 5) // -5
console.log('0.' - 5) // -5
console.log('0' - 5) // -5
console.log(0.-5 === -5) // true
Run Code Online (Sandbox Code Playgroud)
“ 0”。或'0'在JavaScript中相同,因为类型对于数字是唯一的,称为Number。负号运算符位于数字之间,请始终尝试将传递的内容转换为数字。在Python中有所不同,第一个是Float,第二个是Integer,因为它有几种类型。
归档时间: |
|
查看次数: |
10459 次 |
最近记录: |