为什么 _=$=+[],++_+''+$ 的计算结果为 10
Why does _=$=+[],++_+''+$ evaluate to 10
我看到了这个问题中计算结果为10
_=$=+[],++_+''+$
为什么 ++[[]][+[]]+[[[]] 返回字符串"10"?。(http://jsfiddle.net/tVMqM/)。
有人可以解释我为什么吗?
解析
为 1(真)_=$=+[],++_
将其转换为字符串+''
将 0 添加到字符串+$
编辑:第一部分的更多详细信息...
创建变量 _ 和 $ _=$=
将变量设置为 0 +[]
增量 _ 变量++_
这里有
一个很好的解释。 HackerNews在这里对这个话题进行了一些很好的讨论。
请务必注意,这不是整数 10,而是字符串"10"。
相关文章:
- if(foo!==null)的计算结果为true,即使foo为null
- ngIf的计算结果始终为true
- 设置为负数的变量计算结果为true
- 如何在模态助推器中显示计算结果(JS)
- 将javascript计算结果自动放入HTML表单中
- JavaScript/jQuery:格式化日期计算结果的最佳方式
- 使用AngularJS从服务器获取计算结果
- 如果ng-if的计算结果为false,AngularJS会使我的模型数据无效
- 计算结果Javascript中不同数字的数量
- javascript/html获胜't显示计算结果
- 使正数的计算结果为真,使负数计算为假
- Javascript 无法计算结果
- 为什么 {} == false 的计算结果为 false,而 [] == false 的计算结果为 true
- 以 HTML 格式显示计算结果 (javascript)
- 如果 x = 3 且 z 未分配,为什么 z = x-- - --x 的计算结果为 2
- 为什么 _=$=+[],++_+''+$ 的计算结果为 10
- 如何使用 ng-class 在值计算结果为零时删除类
- 为什么Number.MIN_VALUE < -1219312(或任何小值)的计算结果为 false
- 为什么空的 JavaScript 数组在条件结构中的计算结果为 true
- JavaScript 中的计算结果与 Java 中的计算结果不同