== 和===

来源:互联网 发布:corel 片头制作软件 编辑:程序博客网 时间:2024/06/05 06:02

==

x==y
1如果两个操作数类型相同,则进行x===y.
2如果一个为null,另一个为undefined,则返回true.
3如果两个操作数均为基本数据类型,则把操作数转换为Number类型进行比较。
4如果其中一个操作数为Object,则调用对象的toString或者valueOf方法,将对象转化为原始值进行比较。
5如果不满足上述情况,则返回false.

===

1如果两个操作数类型不相同,返回false.
2undefined===undefined->true
3null===null->true
4如果操作数的数据类型都为Number,当两个数的值相同时,返回true,否则返回false.
注:-0===+0->true
+0===-0->true
NaN与任何值都不相等,包括它自己,所以要判断一个数值是否为NaN,可以采用x!==x,只有NaN返回true
5如果操作数的数据类型都为String或Boolean时,只有x和y完全相同,返回true.
6如果操作数的数据类型都为Object,只有两个操作数指向的地址完全相同时,返回true,否则返回false.

原创粉丝点击