js中+号强制转换小例子


1
<script> 2 console.log(([]+{}).length); 3 </script> 4 </head>

输出竟然是:

 

为什么会是15呢?

因为在+号的强制转换成字符串下{} 这个对象,实际是"{Object object}" 加上两个object中间的空格和“[“

”]”这两个大括号12个字母的两个object,所以就有15个字符出现了。

 

 我们换成下面的代码输出:

1  <script>
2         console.log(([]+{}).length);
3         console.log([]+{});
4     </script>

 

 

 

posted @ 2017-09-24 14:36  QinXiao.Shou  阅读(884)  评论(0编辑  收藏  举报