因为存在强制类型转换,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 |