因为存在强制类型转换,JavaScript中的每个值都可以被当作true或false处理,这会导致一些有趣的现象。

 

假值

值                       描述
var highScore=false;

 

  传统的布尔值false

var highScore=0; 数字0
var highScore='  '; 空字符串
var highScore=10/'score'; NaN
var highScore; 没有被赋值的变量

 

真值

值    描述
var highScore=true; 传统的布尔值true            
var highScore=1; 非0数字
var highScore='carrot'; 有内容的字符串
var highScore=10/5; 数字运算(结果非0)
var highScore='true'; 字符串true
var highScore='0'; 字符串0
var highScore='false'; 字符串false