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设置合适的布尔数值。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容