YDKJS up&走向非原始的平等

时间:2017-11-26 16:37:21

标签: javascript equality

有人可以解释以下YDKJS Up& amp;像我五岁一样去找我:

如果要比较两个非原始值(如对象(包括函数和数组)),则应特别注意==和===比较规则。因为这些值实际上是通过引用来保存的,所以==和===比较都只会检查引用是否匹配,而不是关于基础值的任何内容。 例如,默认情况下,数组通过简单地用中间的逗号(,)连接所有值来强制转换为字符串。您可能认为具有相同内容的两个数组将==相等,但它们不是:

var a = [1,2,3];
var b = [1,2,3];
var c = "1,2,3";
a == c;     // true
b == c;     // true
a == b;     // false

“引用”是什么意思?这是否意味着数组在内存中的位置?

最佳,

扎克

1 个答案:

答案 0 :(得分:0)

好吧,是的, 你会看到创建名为'arr'的数组时的例子。 你的记忆如下: stack heap array example

因此参考比较实际检查数组引用是否指向堆中的相同数组。 stack用于值类型和引用。