undefined和null

工作已经将近三年,javascript没有系统的学习过,虽然工作上经常用到,但是原理知之甚少,懂语法,能写简单的javascript代码。关于javascript的书籍一本没有看完全过。反而oracle和java的书,看的不少。今年双十一,书的价钱便宜,趁此买了两本关于javascript书籍,才看前几章大有收获,写出来与大家共享。

javascript的关键字 undefined

undefined一般是默认为只有定义,没有赋值的变量一般都是默认这个值是undefined。
var a ;
alert(a);

上段代码答应出来就是undefined

变量定义没有赋值,就想上段代码默认值是undefined。也可以直接赋值为undefined,比如
var a = undefined;
alert(a)

打印出也是undefined;我们用typeof查看变量有定义,没有赋值和直接打印出没有赋值的变量
var a; 
alert(typeof(a));
alert(typeof(c))

我们在浏览器可以打印出两次nuedfined。a变量定义,没有赋值,c变量连定义都没有,更谈不上赋值。所以当用typeof来检测数据类型,当时undefined会出现以上两种情况

javascript的关键字 null
null是一个特殊的值,表示一个空指针对象,我们用typeof来检测null的数据类型时,他会返回object;如下面代码
var a = null;
alert(typeof(a));
以上代码就会打印出object;

undefined和null的之间一些特点

1、undefined和null都是javascript数据类型中,只有一个值的类型
2、当null和undefined相比较时,即:alert(undefined==null)会返回true
个人认为:null是undefined的一个子集或者说是派生值。理由:javascript的赋值的关键字var,无论是number,boolean,object等等基本类型,都是用var 变量=?,而null必须要显示的指出。即var a=null;而undefined却不需要。typeof一个null值,会显示object,说明null表示一个对象的空指针,而undefined显然表示的范围比null大。至于为什么打印出来相等,也许是javascript就是这样设置。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值