猿问

关于 === 的几种表现

如何解释下面的现象?

var a1 = 'a';

var a2 = new String('a');

var a3 = new String('a');

a1 == a2; // true

a1 == a3; // true

a2 == a3; // false

a1 === a2; // false

a1 === a3; // false

a2 === a3; // false

[]==[] // false

[]===[] // false


繁星淼淼
浏览 515回答 1
1回答

元芳怎么了

var a1 = 'a';var a2 = new String('a');//对象var a3 = new String('a');//对象a1 == a2; // true a2转为字符串 也可以理解为 == 是判断等号两边的值是否相等a1 == a3; // true a3转为字符串a2 == a3; // false 两个对象判断是否相等 new 了两次, 内存地址不同的两个对象a1 === a2; // false === 严格等于 同时判断等号两边的值 包括类型a1 === a3; // false 同上a2 === a3; // false a2 == a3 返回值为false 则=== 也不可能为true[]==[] // false 同a2 == a3[]===[] // false 同a2 === a3
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答