js中相等与不等

2021-04-07 05:27

阅读:677

标签:否则   转换   不同   对象类型   相同   注意   内存   隐式转换   栈内存   

1.相等

1.一致/严格相等 (===)

全等操作符比较两个值是否相等,两个被比较的值在比较前都不进行隐式转换。如果两个被比较的值具有不同的类型,这两个值是不全等的。否则,如果两个被比较的值类型相同,值也相同,并且都不是 number 类型时,两个值全等。最后,如果两个值都是 number 类型,当两个都不是 NaN,并且数值相同,或是两个值分别为 +0 和 -0 时,两个值被认为是全等的。
当两个操作数都是对象时,JavaScript会比较其内部引用,当且仅当他们的引用指向内存中的相同对象(区域)时才相等,即他们在栈内存中的引用地址相同。

2.相等(==)

相等操作符比较两个值是否相等,在比较前将两个被比较的值转换为相同类型。在转换后(等式的一边或两边都可能被转换),最终的比较方式等同于全等操作符 === 的比较方式。 相等操作符满足交换律。
相等操作符对于不同类型的值,进行的比较如下图所示:
技术图片
注意字符串类型与布尔型变量比较时,会同时转换为number类型进行比较

2.不等

1.不相等 (!=)

不等操作符仅当操作数不相等时返回true,如果两操作数不是同一类型,JavaScript会尝试将其转为一个合适的类型,然后进行比较。如果两操作数为对象类型,JavaScript会比较其内部引用地址,仅当他们在内存中引用不同对象时不相等。

2.不一致/严格不相等 (!==)

不一致运算符当操作数不相等或不同类型时返回true

js中相等与不等

标签:否则   转换   不同   对象类型   相同   注意   内存   隐式转换   栈内存   

原文地址:https://www.cnblogs.com/kanaliya/p/12490588.html


评论


亲,登录后才可以留言!