JavaScript基础篇--Undefined与Null
来源:互联网 发布:微信html5制作软件 编辑:程序博客网 时间:2024/05/19 02:24
undefined与null是Js中的五种类型中的两种数据
先说下我们如何检查他们的不同。使用的是typeof操作符,用户检查变量的数据类型,对于值或变量使用typefo操作符会有如下结果
字符串 描述
Undefined 未定义
Object 对象或null
相同点:
在javascript中,将一个变量赋值为undefined或null。几乎是没有区别的
Var a=undefined;Var a=null;
上面代码中,a变量分别被赋值为undefined和null,这两种写法几乎等价。
我们通过if的隐士转换看看他们的结果是否相同,测试结果
if (!undefined) alert('undefined is false');// undefined is false if (!null) alert('null is false');Undefined==null//True var box=null var car;if(car==box){alert('我们值相等'); }
以上代码说明两者行为是相等的
不同点:
undefined类型
只有一个值,undefined,是声明变量,但没有对其初始化,这个变量的默认是就是undefined。
测试:
Var box;Alert(box);
因为没有赋值的变量会隐式转为undefined,它的目的主要是为了用于比较。
未初始化的变量与根本不存在的变量也是不一样的
Var box;Alert(age); //age is not defined Alert(typeofage)//undefinedAlert(typeofbox) //undefined
我们测试他们的typeof结果都返回undefined,但是逻辑上他们的值一个是undefined,一个是报错(notdefined)。所以我们在定义变量时候,不要只声明,不赋值。
Null类型
它表示一个空对象引用,typeof操作检测null会返回object
测试
var box=null;Alert(typeof box);//page isobject//box是null类型,值是null,类型返回的字符是object
我们再用隐士的转换测试
Var box=null;If(box!=null){Alert("box对象已经存在");}
结果是box对象已经存在,为何呢.了解到if的表达式boolean类型的,所以这里存在着数据类型的转换。
Box转为对象类型,对象类型与null值是不相等的
小结
虽然undef与null两个值比较是相等的,所以初始化的变量和赋值为null变量会相等。但是使用的场合是不同的。而且严格的说恒等(===)两者就不在相等了。
- JavaScript基础篇--Undefined与Null
- 【Javascript基础】null 和undefined
- javascript 中的“undefined”与“null”
- javascript undefined与null区别
- JavaScript中的undefined与null
- JavaScript基础之未定义、undefined、null
- 区别Javascript中的Null与Undefined
- JavaScript中undefined与null的区别
- JavaScript undefined与null的区别
- JavaScript undefined与null的区别
- JavaScript undefined与null的区别
- JavaScript学习--Item12 undefined 与 null
- javascript中undefined与null的区别
- JavaScript中undefined与null的区别
- JavaScript-undefined与null的区别
- JavaScript中undefined与null的区别
- javaScript:undefined与null的区别
- javascript中的‘null’与‘undefined’的区分
- 46个IOS免豆资料下载【转载】
- typedef void (*funcptr)(void)的含义
- leetcode之Container With Most Water
- video detect
- android 编译之后的文件系统和内核
- JavaScript基础篇--Undefined与Null
- 猜年龄 - 蓝桥杯
- <%@ include file=""%>,<jsp:include page=""/>
- 一切成功源于积累——20140405 美国非农5分钟k线直至收盘 各货币对表现
- "扫雷外挂" 之C++ 程序篇
- 哈密尔顿回路 C++
- 切面条 - 蓝桥杯
- CImage实现图片缩放
- block的概念及简单用法,通俗易懂