当前位置:嗨网首页>书籍在线阅读

09-真值和假值

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

真值和假值

很多编程语言都有“真”值和“假”值的概念,甚至在连布尔值都不存在的C语言中,数字0代表false,所有非0数字代表true。JavaScript有些类似,不过它可以使用任何类型,这样一来,就可以有效地将任意值归类为真值或者假值。下面的值在JavaScript中都代表false:

  • undefined
  • null
  • false
  • 0
  • NaN
  • '' (空字符串)。

除了上面的值,其他值都为真。由于为真的东西太多了,这里就不一一列举了。不过下面这些是需要掌握的:

  • 所有对象(包括 valueOf() 方法返回 false 的对象)。
  • 所有数组(空数组也是)。
  • 仅仅包含空格的字符串(比如 " " )。
  • 字符串 "false"

字符串 "false" 的值为true这点会使一些人觉得困惑,但对于大多数人来说,这些区别是很容易理解的,通常也会容易记住和使用。有一个需要特别注意的情况是:空数组也为真。如果想让空数组arr的值为假,使用 arr.length (空数组返回0,0代表假)可以达到目的。