Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么长度为1的数组的行为类似于脚本中的标量?_Javascript_Arrays_Type Conversion - Fatal编程技术网

Javascript 为什么长度为1的数组的行为类似于脚本中的标量?

Javascript 为什么长度为1的数组的行为类似于脚本中的标量?,javascript,arrays,type-conversion,Javascript,Arrays,Type Conversion,例如: a=[1,2] console.log(a*2);//NaN,这不是Python a=[3]; console.log(a);//数组,如预期:[3] console.log(a*2);//6!这是因为在乘法(*)过程中: console.log(编号([1,2]);//楠 console.log(编号([2]);//2当一个数组位于一个表达式中,其中需要一个基元时,将调用它的toString方法。对于数组,这基本上是arr.join(',')。包含逗号的字符串无法转换为数字: a

例如:

a=[1,2]
console.log(a*2);//NaN,这不是Python
a=[3];
console.log(a);//数组,如预期:[3]

console.log(a*2);//6!这是因为在乘法(
*
)过程中:

console.log(编号([1,2]);//楠

console.log(编号([2]);//2
当一个数组位于一个表达式中,其中需要一个基元时,将调用它的
toString
方法。对于数组,这基本上是
arr.join(',')
。包含逗号的字符串无法转换为数字:

a=[1,2]
console.log(a*2);//不起作用
log('1,2'*2)//相同的字符串结果:也不起作用

console.log([1,2].toString()='1,2')它与JavaScript的相同性有关

查看本页以获取完整的文档:

可能会发生很多自动转换:)

下面是一个奇怪/有趣的例子:


console.log([1,2]=='1,2')
您可以在这里找到全面的答案:

事实上,这甚至可以扩展到更多级别:
console.log(Number([[2]]]);//2
第一个例子并不奇怪<代码>[1,2]=='1,2'
表示
字符串([1,2])=='1,2'
取决于双方的类型。