码迷,mamicode.com
首页 > 其他好文 > 详细

简述null undefined NaN的异同

时间:2019-01-14 17:13:46      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:存在   字符串   清空   包含   ===   nan   引用类型   oba   保存   

1. 类型分析:
JS中数据类型有:undefined,boolean,number,string,object,前四种值类型(基础数据类型),object是引用类型
var a1; //undefined
var a2=10; //number
var a3="hello"; //string
var a4=true; //boolean
var a5=new Object(); //0bject
var a6=NaN; //number
var a7=null; //object
var a8=undefined; //undefined
结论:未定义的值和定义未赋值的类型是undefined,null是一种特殊的object,NaN是一种特殊的number

2.比较运算
var a1; //a1的值为undefined
var a2 = null;
var a3 = NaN;
alert(a1 == a2); //显示"true"
alert(a1 != a2); //显示"false"
alert(a1 == a3); //显示"false"
alert(a1 != a3); //显示"true"
alert(a2 == a3); //显示"false"
alert(a2 != a3); //显示"true"
alert(a3 == a3); //显示"false"
alert(a3 != a3); //显示"true"
结论:(1)undefined与null是相等;(2)NaN与任何值都不相等,与自己也不相等
3.Undefined 数据类型
undefined属性用来存放JS的undefined值
1.返回undefined 值: 对象属性不存在;声明了变量但从未赋值
2.无法使用for/in循环来枚举undefined属性,也不能用delete运算符删除
3.undefined不是常量,可以把它设置为其他值
4.Null数据类型
在JS中null只有一个值null
1.关键字null不能用作函数或变量的名称
2.包含null的变量包含“无值”或“无对象”,即改变量没有保存有效的数字、字符串、boolean、数组或对象
3.可以通过给一个变量赋null值来清空数据的内容
4.null的typeof返回是object

5.null与undefined的区别
5.1 null是关键字;undefined是Global对象的一个属性
5.2 null是对象(空对象, 没有任何属性和方法);undefined是undefined类型的值
console.log(typeof null); //return object
console.log(typeof undefined); //return undefined
5.3 在对象模型中,所有的对象都是Object或其子类的实例,但是null对象除外
console.log(null instanceof Object); //return false (判断是否是对象)
5.4 null“等值==”undefined,但是不“全等值===”undefined
console.log(null == undefined); //return true
console.log(null === undefined); //return false
5.5 运算时,null和undefined都可以被类型转换为false,但是不等值于false
console.log(!null, !undefined); //true,true 
console.log(null==false); //false 
console.log(undefined==false); //false

简述null undefined NaN的异同

标签:存在   字符串   清空   包含   ===   nan   引用类型   oba   保存   

原文地址:https://www.cnblogs.com/songxia/p/10267711.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!