$ echo '[{"name": "John", "age": 56}, {"name": "Mary", "age": 67}]' > file1.json
$ echo '[{"age": 56, "name": "John"}, {"name": "Mary", "age": 61}]' > file2.json
$ diff -u --color \
<(jq -cS . file1.json | js-beautify -f -) \
<(jq -cS . file2.json | js-beautify -f -)
--- /dev/fd/63 2016-10-18 13:03:59.397451598 +0200
+++ /dev/fd/62 2016-10-18 13:03:59.397451598 +0200
@@ -2,6 +2,6 @@
"age": 56,
"name": "John Smith"
}, {
- "age": 67,
+ "age": 61,
"name": "Mary Stuart"
}]
输出0 / 0
NaN
输出1 / 0
javascript如何评估第一个数学运算?
答案 0 :(得分:2)
根据spec
0/0输出NaN 因为
零归零导致NaN;被任何人划分为零 其他有限值结果为零,符号由 规则已经在上面说过。
和 1/0输出Infinity 因为
将零非零有限值除以零会导致签名 无穷。该标志由上述规则确定。
第7节和第8节 12.6.3.2应用/运算符(无序列表)
答案 1 :(得分:0)
在javascript中,0 / 0
和1 / 0
表示IEEE754浮点类型参数的划分。
这个浮点规范非常具体地说明了当分母为零的分区被评估时必须发生的事情。它返回
因此0 / 0
是NaN,而1 / 0
是+无限。
请注意,在其他语言(例如C,C ++和Java)中,您的除法将在整数算术中进行,并且未定义整数除零。
答案 2 :(得分:0)
0/0是数学无法执行的表达式。这就是为什么它是Not_A_Number。