相等操作符

 

相等操作符==并不表示严格相等

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并不是一种类型

当然,对于不等操作符!=也是如此。如果想严格不相等,就要使用!==。

posted @ 2015-04-18 14:18  木槿の瑶  阅读(114)  评论(0编辑  收藏  举报