繁体   English   中英

javascript ==中的两个对象/数组是否会巧合?

[英]Will two objects/arrays in javascript == each other by coincidence?

可以说我有一个数组。

var a = [1,2,3];

然后是数组b。

var b = [1,2,3];

a == b是否有可能返回true? 即使是百万分之一。 (我知道通常a == b将是错误的,但是我想知道是否有可能将其设置为真。)

规范的相关部分是11.9.3抽象平等比较算法

比较x == y (其中xy是值)产生truefalse 这样的比较执行如下:

  1. 如果Type(x)与Type(y)相同,则
    1. 如果Type(x)为Undefined,则返回true。
    2. 如果Type(x)为Null,则返回true。
    3. 如果Type(x)是Number,则
      1. 如果x为NaN,则返回false。
      2. 如果y为NaN,则返回false。
      3. 如果x与y相同,则返回true。
      4. 如果x为+ 0,y为−0,则返回true。
      5. 如果x为-0,y为+0,则返回true。
      6. 返回false。
    4. 如果Type(x)为String,则如果x和y是完全相同的字符序列(相同的长度和相同位置的相同字符),则返回true。 否则,返回false。
    5. 如果Type(x)为布尔值,则x和y均为true或均为false时返回true。 否则,返回false。
    6. 如果x和y指向同一对象,则返回true。 否则,返回false。

(强调我的。)

因此,您的问题的答案是否定的。 a == b实际上是同一对象,则仅返回true

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM