- 对象与对象
var a=new String("abc");
var b=new String("abc");
if(a==b)
{
true;
}
else
{
false;
}
结果 ===> false
分析:这两个字符串内容虽然相同,但引用的不是同一个对象,故结果为false,使用全等判断(===)结果也是false
- 对象与基本数据类型
var a="abc";
var b=new String("abc");
if(a==b)
{
true;
}
else
{
false;
}
结果 ===> true
分析:进行了隐式数据类型转换,但使用全等判断(===)时由于不能进行类型转换,结果为false
- NAN不但不与其它数值相等,就算是两个NAN的等值判断,结果也是false
- 对null值和undefined值做相等判断(==),结果为true
- 对null值和undefined值做全等判断(===),结果为false
- null值和undefined值在与其它数(如0、false、""等)做相等运算时不会进行类型转换,为false(例如undefined==0 false)
- object类型转换为布尔类型结果必定为true
var a=new Boolean(false);
if(a)
{
true;
}
else
{
false;
}
结果 ===> true
通过函数调用方式获得的结果不是object类型,而是相应的内建类型,转换结果与字面意思一致。
var a=Boolean(false);
if(a)
{
true;
}
else
{
false;
}
结果 ===> false
- 双方均为undefined或者双方均为null,结果为true