javascript – 将数组与单个值乘以数字?

前端之家收集整理的这篇文章主要介绍了javascript – 将数组与单个值乘以数字?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么 JavaScript允许您将数组与单个数值乘以另一个数值或另一个具有单个数值的数组?:
[3] * 3;
// 9

[3] * 2;
// 6

[3] * [3];
// 9

[1,2] * 2
// NaN

我希望每次都能返回NaN,但是我在Chrome中的实验证明情况并非如此.

这是预期的行为吗?这种行为有意义吗?如果是这样,为什么?

解决方法

[3] * 3;

采取以下步骤:

>数组转换为字符串[3] => “3”
>将字符串转换为数字(“3”)=> 3
> 3 * 3给出9

同样,对于[1,2] * 2:

>数组转换为字符串[1,2] => “” 1,2\”
>将字符串转换为数字(“1,2”)=>为NaN
> NaN * 3得到NaN

对于我们之间的ECMA怪胎;)从here开始并遵循路径乘法运算符=> ToNumber => ToPrimitive => [[DefaultValue]](数字)=> valueOf =>的toString

猜你在找的JavaScript相关文章