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>