Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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 解释一下这个数组减法项叫什么_Javascript - Fatal编程技术网

Javascript 解释一下这个数组减法项叫什么

Javascript 解释一下这个数组减法项叫什么,javascript,Javascript,变量A正在工作,但变量B显示NaN,为什么? var a = [1,2,3,4]+[5,6,7,8]; var b = [1,2,3,4]-[5,6,7,8]; +是一个串联运算符,未定义用于数组。引擎将数组转换为字符串,而不是将它们串联起来,根据运算符对任何变量进行类型转换。对于+运算符数组正在转换为字符串,即“1,2,3,4”+“5,6,7,8” 对于-运算符数组被转换为数字,这将导致NaN这些运算符称为一元正运算符和一元反运算符 UP尝试将操作数转换为数字数组将转换为字符串,然后生成的操

变量A正在工作,但变量B显示NaN,为什么?

var a = [1,2,3,4]+[5,6,7,8];
var b = [1,2,3,4]-[5,6,7,8];

+
是一个串联运算符,未定义用于数组。引擎将数组转换为字符串,而不是将它们串联起来,根据运算符对任何变量进行类型转换。对于
+
运算符数组正在转换为字符串,即
“1,2,3,4”+“5,6,7,8”

对于
-
运算符数组被转换为数字,这将导致
NaN

这些运算符称为一元正运算符和一元反运算符

UP尝试将操作数转换为
数字
<当数组长度大于1时,代码>数组将转换为字符串,然后生成的操作数为一元加(ed),如果其中一个是字符串,则将两个操作数串联为字符串

UN不连接,因此如果它没有转换为
编号
而不是
NaN
,则跳过所有这些步骤

下面是一些发生的例子:

[1]+[2]
 "12"

+[1,2,3]
 NaN

+[1]
 1

[1,2,3]+[4,5,6]
 "1,2,34,5,6"

[1,2,3]+[4,5,6,7]
 "1,2,34,5,6,7"

[1]+[4,5,6,7]
 "14,5,6,7"

Number([1])+Number([4])
 5

Number([1])+[4]
 "14"

@GetOffMyLawn不完全正确,在他的例子中,结果是一个字符串,带有
concat
它将是一个数组。。。我以为
+
是concat速记。我从来没有用过这个,所以我想我不知道…字符串连接是正确的<代码>[1,2,3]+[4,5,6]=>“1,2,34,5,6”将数组转换为字符串不包括方括号。它变成了
“1,2,3,4”+“5,6,7,8”