javascript - JavaScript 中的 {} + {} 是什么?

标签 javascript

<分区>

第 1 部分:

因为当您添加两个数组时,一切都按预期工作:

 [] + []     //output:''

添加一个数组和一个对象也符合我们的预期:

 [] + {}
output:'[object Object]'

{} + {} 在 JavaScript 中是 NaN ?
这是意想不到的结果,那么这背后的原因是什么?

第二部分:

在不带前缀0的字符串比较中,3大于12:

"3" > "12"
: true

使用填充,一切正常:

 "03" > "12"
: false

字符串比较必须加前缀0吗?加前缀0的原因是什么?

最佳答案

  1. {} + {} 被解释为空 block {} 后跟表达式 + {}{} 没有数值,因此它产生 NaN。如果强制将其计算为类似 ({} + {}) 的表达式,您将得到 [object Object][object Object]

  2. 它们是字符串,因此将按字典顺序进行比较。如果您想将它们作为数字进行比较,请先使用 parseIntparseFloat 解析它们。

关于javascript - JavaScript 中的 {} + {} 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15996303/

相关文章:

javascript - 使用 Highcharts 在饼图中对图例进行分组

javascript - 谷歌地图 iframe 无法在 bootstrap3 模式中正确加载

javascript - 没有警告框,AJAX 无法工作

javascript - 使用 HttpInterceptor 刷新并行 HTTP 请求的 token

javascript - HTML 表格样式特定列

javascript - 从 Outlook 拖放到网页

javascript - 如何在显示月份数据时删除特定日期列?

javascript - 单击 anchor 标记不起作用

javascript - var self = 这个?

javascript - 使用 React Hooks 将输入传递给子组件来更新输入值