javaScript中的空值和假值
javaScript中有五种空值和假值,分别为false,null,undefined,“”,0。从广义上来说,这五个值都是对应数据类型的无效值或空值。
这五个值的共同点是在执行if语句时都会执行false分支,执行对应的非语句的时候都执行true分支。
1 undefined
在javaScript中,undefined派生自null,变量为初始化时浏览器默认变量为undefined。代码示例:
var str;
alert(str);//undefined
另外
if(undefined == null) {
alert("undefined == null 为true");
}
弹出:undefined == null 为true
2 null
null代表一个不存在的对象,代码示例:
var obj = document.getElementById("btn");
alert(obj);//null
null的类型虽然是object,但是null不具有对象的特性。我们不能执行null.toString(),null.constructor等对象实例的默认调用。
null ==undefined 的执行结果为true。此外,将变量赋值为null,便于垃圾回收处理。
3 "",0,false
"",0,false在if语句中表现为假值,但是他们都是有意义的数据,只是被用作空值或假值。
“”.toString(),(0).toString(),false.toString()都是合法的可执行语句。
另外
if(0 == []){
alert("0 ==[] 为true");
}
if(0 == ''){
alert("0 =='' 为true");
}
if(0 ==false){
alert("0 ==false 为true");
}
浏览器依次弹出:
0 ==[] 为true
0 =='' 为true
0 ==false 为true
if("" == false){
alert(‘“”== false 为true’);
}
浏览器弹出:
“”== false 为true
js五种空值的类型:
typeof(undefined) == 'undefined'
typeof(null) == 'object'
typeof("") == 'String'
typeof(0) == 'number'
typeof(false) == 'boolean'
javaScript中的空值和假值的更多相关文章
- [转载]在 JavaScript 中判断“空值”
http://lync.in/check-empty-value-in-javascript/ 有时候我们会遇到这样的情况:在一些前端控件要提交数据到服务器端的数据验证过程中,需要判断提交的数据是否为 ...
- 面试说:聊聊JavaScript中的数据类型
前言 请讲下 JavaScript 中的数据类型? 前端面试中,估计大家都被这么问过. 答:Javascript 中的数据类型包括原始类型和引用类型.其中原始类型包括 null.undefined.b ...
- JavaScript中奇葩的假值
通常在以下语句结构中需要判断真假 if分支语句 while循环语句 for里的第二个语句 如 if (boo) { // do something } while (boo) { // do some ...
- Javascript 中的false、0、null、undefined和空字符串对象
在Javascript中,我们经常会接触到题目中提到的这5个比较特别的对象——false.0.空字符串.null和undefined.这几个对象很容易用错,因此在使用时必须得小心. 类型检测 我们下来 ...
- 【转】Javascript 中的false,零值,null,undefined和空字符串对象
js 开发中经常会碰到判断是否为空的情况,关于 null 和 undefined 的区别了解的不是很好,刚好看见这篇文章,转过来学习一下,以下是转载正文: 在Javascript中,我们经常会接触到题 ...
- javascript中的undefined,null,"",0和false的云集
在各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,bool ...
- Javascript 中的false,零值,null,undefined和空字符串对象
在Javascript中,我们经常会接触到题目中提到的这5个比较特别的对象--false.0.空字符串.null和undefined.这几个对象很容易用错,因此在使用时必须得小心. 类型检测 我们下来 ...
- JavaScript中null和undefined
JavaScript的数据类型大体分为两类:原始类型和对象类型.其中,原始类型包括数字.字符串和布尔值.此外,JavaScript中还有两个特殊的原始值:null(空)和undefined(未定义), ...
- Javascript中的undefined、null、""、0值和false的区别总结
在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBN ...
随机推荐
- 局域网中共享Lantern上网
Lantern作为一款非常好用的上网软件,深受大家喜爱,但是由于目前没有ios版,所以iPhone用户上网很麻烦,这里介绍一下如何共享Lantern使局域网内的设备都能正常上网. 1.电脑端设置:右键 ...
- [BZOJ3173][Tjoi2013]最长上升子序列
[BZOJ3173][Tjoi2013]最长上升子序列 试题描述 给定一个序列,初始为空.现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置.每插入一个数字,我们都想知道此时最长上 ...
- mac brew install redis 报错
mac brew install redis 报错 /usr/local/opt/php55/bin/phpize /usr/local/opt/php55/bin/phpize: line 61: ...
- Unity3D 查找Update函数体为空的类
如果是大项目,有很多Update空跑还是多少有些效率损耗,那我们就把他们都找出来. 先引用Mono.Cecil //代码 using UnityEngine; using UnityEditor; u ...
- Word 2010 发布博文测试
新建"博客文章" 点击"文件-> 新建 -> 博客文章 -> 创建": 新窗口的编辑区和不同模式的word有所不同,如果你还没有设置博客账号( ...
- video.js使用教程API
videojs就提供了这样一套解决方案,他是一个兼容html5的视频播放工具,早期版本兼容所有浏览器,方法是:提供三个后缀名的视频,并在不支持html5的浏览器下生成一个flash的版本. 最新的3. ...
- nginx笔记资料
通配 hash 表 ngx_hash_init 实现注释:http://blog.csdn.net/gsnumen/article/details/7817396 ngx_hash_init之后的结构 ...
- CDN -- 集合
weui https://cdnjs.cloudflare.com/ajax/libs/weui/0.4.3/style/weui.min.css 百度静态资源库 http://cdn.code.ba ...
- TFS二次开发系列:一、TFS体系结构和概念
TFS是Team Fundation Server的简称,是微软VSTS的一部分,它是Microsoft应用程序生命周期管理(ALM)工具的核心协作平台,简单的说它是管理和开发软件项目的整个生命周期的 ...
- NSString使用stringWithFormat拼接的相关知识
NSString使用stringWithFormat拼接的相关知识 保留2位小数点 1 2 3 4 //.2代表小数点后面保留2位(2代表保留的数量) NSString *string = [NSSt ...