您的位置:首页 > 其它

相等操作符

2015-06-12 10:46 134 查看
 
相等操作符==并不表示严格相等

eg:

var a = false;

var b ="";

if(a==b){
alert("a equals b");
}


 

 这个条件语句的求值结果是true,为什么?

因为相等操作符==认为空字符串与false的含义相同。要进行严格比较,就要使用另一种等号(===)。这个全等操作符会执行严格的比较,不仅比较值,而且会比较变量的类型:

var a = false;

var b ="";

if(a===b){
alert("a equals b");
}


这一次,条件表达式的求值结果就是false。因为即使可以认为false与空字符串具有相同的含义,但Boolean与String并不是一种类型

当然,对于不等操作符!=也是如此。如果想严格不相等,就要使用!==。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: