Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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
为什么;设a=[1,2,3];log(a=[1,2,3])&引用;是";假;用JavaScript?_Javascript - Fatal编程技术网

为什么;设a=[1,2,3];log(a=[1,2,3])&引用;是";假;用JavaScript?

为什么;设a=[1,2,3];log(a=[1,2,3])&引用;是";假;用JavaScript?,javascript,Javascript,为什么 设a=[1,2,3]; log(a=[1,2,3]),因为数组不同。变量a包含的数组与控制台.log中的数组不同,即使数组值相同。您必须在两个数组中循环,并比较两个数组的每个值,以确定它们是否相等。因为数组不相同。变量a包含的数组与控制台.log中的数组不同,即使数组值相同。您必须遍历这两个数组并比较它们的每个值,以确定它们是否相等。Javascript对象有点像C指针 a包含定义的第一个数组的内存地址 当您执行console.log时(a==[1,2,3])实际上您正在创建一个新数组

为什么

设a=[1,2,3];

log(a=[1,2,3]),因为数组不同。变量
a
包含的数组与
控制台.log中的数组不同,即使数组值相同。您必须在两个数组中循环,并比较两个数组的每个值,以确定它们是否相等。

因为数组不相同。变量
a
包含的数组与
控制台.log中的数组不同,即使数组值相同。您必须遍历这两个数组并比较它们的每个值,以确定它们是否相等。

Javascript对象有点像C指针

a
包含定义的第一个数组的内存地址

当您执行
console.log时(a==[1,2,3])
实际上您正在创建一个新数组,并将其内存值与保存在
a
中的内存值进行比较

这就是为什么:

const a = []; 
a.push(1)

是有效的(常量是“指针”,而不是数组)

Javascript对象有点像C指针

a
包含定义的第一个数组的内存地址

当您执行
console.log时(a==[1,2,3])
实际上您正在创建一个新数组,并将其内存值与保存在
a
中的内存值进行比较

这就是为什么:

const a = []; 
a.push(1)

是有效的(常量是“指针”,而不是数组)

搜索“JavaScript比较数组”会得到:因为它们是两个不同的对象。虽然它们的值是相同的,但您不会比较它们。@soorapadman您的链接问题与此问题无关。他不是问如何,而是问为什么……搜索“JavaScript比较数组”会产生结果:因为它们是两个不同的对象。虽然它们的价值是相同的,但你不能比较它们。@soorapadman你的链接问题与这个问题无关。他不是问如何,而是问为什么。。。