JavaScript基本概念C - 真与假

  • 真与假

与 c 和 c++ 非常相似, 但与 Java 不同, JS中被认为true或false范围很广。所有对象 (空字符串除外) 和非零数字都被视为 true。空字符串、零、null 和undefined 被视为 false。

undefined 是一个特殊值。未分配任何值时的所有变量都是undefined。清楚?:)同样, 不返回值的所有函数实际上返回undefined 。事实上, 它是一个关键字。因此, 下面的代码是有效的:

var a = undefined;

其实和下面是类似的

var a;

 

  • 值强转

在 js 中, 当你尝试用值做一些不可能的事情时, js 会尽量让它们兼容并输出一些有意义的结果。

例如: ! 0 实际上是布尔类型的true, !一般只能和布尔型一起使用。 ' 2 ' * 1 实际上是数字 2, 因为 * 不能用在字符串上。但是, ' 2 ' + 1 是字符串 21, 因为由于存在一个字符串, 该数字被强制为字符串。

有个小建议。你可以这么使用  –  var hasChildren = !!children.length;  这会将hasChildren设置合适的布尔数值。

 

posted @ 2018-04-28 17:18  理论家  阅读(211)  评论(0编辑  收藏  举报
点击这里给我发消息