js中的null和undefined
大部分编程语言一般有一个表示“无”的值,而js中却有两个,null和undefined。所以查了一些资料,小结在此,以便查阅。
js中的变量有两大类,基本的值类型,引用类型。其中值类型分为:Undefined,Null,Number,Boolean,String五种。可见null和undefined是不同的类型。
a)undefined
undefined的出现一般有以下几种情况:
1 变量声明而未初始化。
2 对象的属性未赋值。
3 函数调用时,缺省的参数为undefined。
4 函数没有返回值时,默认返回undefined。
从上面可以看出,当变量或属性未初始化时,缺省值即为undefined,所以不需要显示的设置一个变量的值为undefined。这时就会想不需要显示设置,要他干吗???其实它只是为了区分空对象指针(null)与未经初始化的变量(undefined)。
b)null
null表示空对象指针,即存储尚未存在的对象。所以这也是使用typeof操作符检测null时返回"object"的原因。(typeof返回字符串且首字母小写)
上面提到不需要显示设置变量值为undefined,而把值设置为null却是很必要的,假如声明的变量用来表示对象,而还没有真正保存,就应该将其设置为null。
还有就是undefined是派生自null的,所以用“==”时返回的是true。
js中的null和undefined的更多相关文章
- 聊一聊js中的null、undefined与NaN
		
零.寒暄 翻翻自己的博客,上一篇竟然是六月26号的,说好的更新呢?回顾刚刚过去的这个七月,整天都是公司的入职培训加上自己的小论文,每天奋战到凌晨1点多,这是要挂的节奏啊!但是不论怎么说,自己的时间管理 ...
 - JS中判断null、undefined与NaN的方法
		
写了个 str ="s"++; 然后出现Nan,找了一会. 收集资料如下判断: 1.判断undefined: 代码如下: <span style="font-siz ...
 - js中的null VS undefined
		
var a;------>undefined. JS变量的默认值.注意点在于判断变量的值为null.这是错误的.比如 if( a === null ) { // TODO; }; 实际上是und ...
 - js中的null 和undefined
		
参考链接:http://blog.csdn.net/qq_26676207/article/details/53100912 http://www.ruanyifeng.com/blog/2014/0 ...
 - js中的null与undefined
		
null undefined
 - 浅谈JavaScript中的null和undefined
		
浅谈JavaScript中的null和undefined null null是JavaScript中的关键字,表示一个特殊值,常用来描述"空值". 对null进行typeof类型运 ...
 - 分享一个在js中判断数据是undefined,NaN,null,的技巧
		
教大家如何在js中判断一个值是否是undefined,null,NaN,以及如何单独判断 平常开发过程中大家可能遇到一种问题,就是取页面某个值的时候获取不到这个var就是undefined了,如果是数 ...
 - 区分js中的null,undefined,"",0和false
		
console.log(typeof null);//object console.log(typeof undefined);//undefined console.log(typeof " ...
 - js中,null, '',undefined的区别
		
在js中有三种值都可以代表false "",null,undefined 那么他们之间到底有什么区别呢 首先我们先看这三种值得类型 ""代表了一个没有字符的字 ...
 
随机推荐
- 剑指offer—第三章高质量的代码(按顺序打印从1到n位十进制数)
			
题目:输入一个数字n,按照顺序打印出1到最大n位十进制数,比如输入3,则打印出1,2,3直到最大的3位数999为止. 本题陷阱:没有考虑到大数的问题. 本题解题思路:将要打印的数字,看成字符串,不足位 ...
 - Linux系统性能诊断工具纲要
			
Linux的性能分析工具众多,在微博上发现了系统性能专家Brendan D. Gregg,在最近LinuxCon NA 2014大会上发布的关于Linux性能方面的talk和幻灯片.和去年比较,今年增 ...
 - Aspose.Cells 读取Excel数据到DataTable
			
C#代码: Workbook workbook = new Workbook(); workbook.Open(excelfile); Cells cells = workbook.Worksheet ...
 - String定义与方法
			
//5种构造方法 public void Con(){ String str = "sfaj"; String str1 = new String("sfajdf&quo ...
 - head 命令
			
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾. 1.命令格式: hea ...
 - Android 获取assets的绝对路径
			
第一种方法: String path = "file:///android_asset/文件名"; 第二种方法: InputStream abpath = get ...
 - Eclipse插件安装的三种方法
			
转自:http://www.blogjava.net/tangzurui/archive/2008/06/30/211669.html 整理了一下格式. (前两种安装方式以多国语言包的安装为例) 1 ...
 - Laravel不同数据库的模型之间关联
			
假设ModelA和ModelB之间是BelongsTo的关系 如果同属于一个数据库连接 那么 public function a(){ return $this->belongsTo(" ...
 - js动画框架设计
			
当你不再依赖JQuery时,当你已经厌倦了引入js类库实现一些动画效果的方式,当你想实现一个简单而实用的动画框架......下面介绍下愚人设计的动画框架:支持动画缓动算法函数,如Linear.Cubi ...
 - BITED数学建模七日谈之六:组队建议和比赛流程建议
			
今天进入数学建模经验谈第六天:组队建议和比赛流程建议 数学模型的组队非常重要,三个人的团队一定要有分工明确而且互有合作,三个人都有其各自的特长,这样在某方面的问题的处理上才会保持高效率. 三个人的分工 ...