== 与 ===的区别

    ==用于一般比较(值相等),在比较的时候可以转换数据类型

    ===用于严格比较(值相等+类型相等),严格比较,只要类型不匹配就返回flase。

1 == “1” // true
1 == true // true  右边true进行类型转换,可转为“1”

1 === "1" // false 左侧类型是number,右侧类型是string
1 === true // false 左侧类型是number,右侧类型是Boolean
*引用类型比较*

    不同的对象,其引用值其实并不相等,即在内存中的不同的地址单元中

    把两个对象进行比较,得到的结果都是不相等的,对于引用类型来说,默认是比较两个对象引用的地址,每个对象的引用有自己唯一的地址,所以,是不相等。

var m = {a: 1, b: 2};
var n = {a: 1, b: 2};
var o = {a: 1, b: 2, c: 3};
m == n // false
m === n // false
m == o // false
m === o // false


猜你喜欢

转载自blog.csdn.net/weixin_42441117/article/details/80881383
今日推荐