文档章节

理解js中的:Null、undefined、""、0、false

bo-少
 bo-少
发布于 2016/04/15 14:30
字数 393
阅读 154
收藏 7

1、undefined、null、""、0、false这五个值在if语句中做判断,都会执行false分支

2、    undefined和null比较特殊, 
    虽然null的类型是object,但是null不具有任何对象的特性, 
    就是说我们并不能执行null.toString()、null.constructor等对象实例的默认调用。 
    所以从这个意义上来说,null和undefined有最大的相似性。 
    ★★看看null == undefined的结果(true)也就更加能说明这点。 
    不过相似归相似,还是有区别的, 
    就是和数字运算时,10 + null结果为:10;10 + undefined结果为:NaN。 
3.""、0和false虽然在if语句表现为"假值",可它们都是有意义数据,只是被作为了"空值"或"假值"

4.当尝试读取不存在的对象属性时也会返回 undefined。 
提示:只能用 === 运算来测试某个值是否是未定义的,因为 == 运算符认为 undefined 值等价于 null。 
注释:null 表示无值,而 undefined 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。


null == undefined 
但是: 
null !== undefined 
那么这两者到底有啥区别呢? 
null 
这是一个对象,但是为空。因为是对象,所以 typeof null 返回 'object' 。 
null 是 JavaScript 保留关键字。 
null 参与数值运算时其值会自动转换为 0 ,因此,下列表达式计算后会得到正确的数值: 
表达式:123 + null结果值:123 
表达式:123 * null结果值:0 

本文转载自:http://deejay.iteye.com/blog/700588

bo-少

bo-少

粉丝 8
博文 42
码字总数 14563
作品 0
广州
程序员
私信 提问
理解JavaScript的原始类型

JavaScript中的原始类型(primitive type)包括Undefined、Null、Number、Boolean和String,其他变量均为引用类型,也就是Object Type。原始类型保存位置是“栈内存”,而引用类型保存在“堆...

董广明
2014/02/20
468
0
理解JavaScript的原始类型

JavaScript中的原始类型(primitive type)包括Undefined、Null、Number、Boolean和String,其他变量均为引用类型,也就是Object Type。原始类型保存位置是“栈内存”,而引用类型保存在“堆...

con
2014/02/17
921
11
《Javascript高级程序设计》学习记录(一)

最近又开始重新阅读《javascript高级程序设计》了,记忆中这是第三次了,但是前面都是走马观花式的过了,这次还是需要好好整理和实践一番了。 虽然是一些基础概念,但是还是有好多容易注意的...

sunshinewyf
2015/11/12
126
0
JS和JQ的event对象对比和应用

currentTarget 事件冒泡阶段所在的DOM target, originalTarget原始的DOM 代码测试: 结果分析: 总结: js的event参数中,不管是, , 都是指向第一个触发事件的元素(还没冒泡),而在click事...

前端届的科比
2014/08/11
1K
0
也谈谈Javascript中的几个"怪异"特性(上)

Andy Croxall在Ten Oddities And Secrets About JavaScript罗列了他认为的10个javascript怪异特性。纵观全文,其实有些特性也并不那么“怪异”。对于原文我不作翻译,就顺着文章谈一下自己的...

蜗牛奔跑
2015/06/19
11
0

没有更多内容

加载失败,请刷新页面

加载更多

一、docker 入坑(win10和Ubuntu 安装)

前言 终究还是绕不过去了,要学的知识真的是太多了,好在我们还有时间,docker 之前只闻其声,不曾真正的接触过,现在docker 越来越火,很多公司也都开始使用了。所以对于我们程序员而言,又...

quellanan2
6分钟前
2
0
AutoCompleteTextView

小技巧按菜单键 当菜单打开之前会调用onMenuOpened(int featereId,Menu menu),可以重写这个方法,弹出对话框或者Popmenu 再布局中添加控件AutoCompleteTextView. <AutoCompleteTextVie...

逆天游云
10分钟前
2
0
谷歌软件商店:推出5美元会员 可用数百个软件

腾讯科技讯,谷歌和苹果是全球两大智能手机操作系统的运营者,两家公司旗下分别拥有占据行业垄断地位的谷歌软件商店和苹果软件商店。据外媒最新消息,手机软件商店的商业模式正在发生一些变化...

linuxCool
32分钟前
1
0
RocketMQ 多副本前置篇:初探raft协议

Raft协议是分布式领域解决一致性的又一著名协议,主要包含Leader选举、日志复制两个部分。 温馨提示: 本文根据raft官方给出的raft动画进行学习,其动画展示地址:http://thesecretlivesofda...

中间件兴趣圈
32分钟前
1
0
elasticsearch 6.8.0 添加认证

1. 修改elasticsearch-6.8.0/config/elasticsearch.yml 最后添加一行:xpack.security.enabled: true 2. 初始化用户和密码 ./bin/elasticsearch-setup-passwords interactive 我这里初始化为......

coord
34分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部