博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript中的0,false,null,undefined,空字符串对比
阅读量:5983 次
发布时间:2019-06-20

本文共 529 字,大约阅读时间需要 1 分钟。

先看一段代码:

上面这段代码中:false 、0、空字符串、null、undefined依次指待的是:布尔值,数值,字符串,对象,undefined类型。

所以0,false,null,undefined,空字符串都不是指待的同一个概念,不要弄混。

下面我们使用 来做一下运算判断。

从上面的结果可以得出0只能代表数字,字符串和布尔值。不能用来代替对象和undefined。不过在判断字符串的时候可以通过字符串的长度来判断,把字符串转换为number。

false可以用来代替0和空字符串。但是null与undefined具体有和区别呢?
null和undefined其实两个都是对象。undefined表示无效对象,null表示空对象。如果变量显式或者隐式(由Javascript引擎进行赋值)地被赋予了undefined,那么代表了此变量未被定义,如果被赋予null值,则代表此变量被初始化为空值。

其实变量如果声明了但是没有初始化,那么Javascript引擎会将此变量自动指向undefined对象。就像上面那段代码一样。

最后希望这份手记能够给你带来方便。

转载于:https://my.oschina.net/websec/blog/156478

你可能感兴趣的文章
Caution: request is not finished yet
查看>>
Pytest里,mark装饰器的使用,双引号,没引号,这种差别很重要
查看>>
基于 HTML5 结合工业互联网的智能飞机控制
查看>>
LeetCode 114| Flatten Binary Tree to Linked List(二叉树转化成链表)
查看>>
Java8内存模型—永久代(PermGen)和元空间(Metaspace)
查看>>
PHP如何输出合并单元格的表
查看>>
Android TV 开发(3)
查看>>
放大倍数超5万倍的Memcached DDoS反射攻击,怎么破?
查看>>
SpringMVC中异常处理详解
查看>>
Django使用manage.py备份与恢复数据
查看>>
当区块链遇到零知识证明
查看>>
iTunesDB文件格式
查看>>
MEF学习
查看>>
桌面应用程序的版本更新,升级
查看>>
大型搜索引擎的系统测试方法及案例分享
查看>>
C# WinForm .net Drag Drop
查看>>
谈单元测试的状态验证和行为验证
查看>>
HTML5标准学习 – 简介
查看>>
电赛初探(二)——语音采集回放系统
查看>>
如何制作winform得启动画面
查看>>