Javascript 解释一下这个数组减法项叫什么
变量A正在工作,但变量B显示NaN,为什么?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尝试将操作数转换为数字数组将转换为字符串,然后生成的操
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”