西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发javascript|JQuery → javascript 中的 undefined 与 null 的区别

javascript 中的 undefined 与 null 的区别

相关软件相关文章发表评论 来源:程序的灵魂时间:2010/3/17 11:42:07字体大小:A-A+

作者:不详点击:230次评论:0次标签: undefined

  • 类型:塔防游戏大小:45.9M语言:英文 评分:6.6
  • 标签:
立即下载

在Javascript中有两个值用来代表类似空值的概念,undefined和null,这两个很容易被混淆,他们表示的是两个不同的概念。

先说说undefined:

Javascript中的变量是弱类型的(关于这个我想就不用我多解释啦), 所以声明变量的时候只需使用var关键字即可。如果是像C这样的强类型语言, 声明变量的时候如果没有指定初始值,那么会给他一个默认值,比如int变量的默认值是0。但是在Javascript这样的弱类型语言中,没有办法确定到底该给这样的变量一个什么样的默认值,比如我声明一个变量

var v1;

是给他false还是0,或者是'' ?

因为没有类型,所以无法确定。 在Javascript中对于这种生命后没有给定初始值的变量,就给他一个undefined。不过前提是这个变量必须已经声明,如果对于没有声明过的标识符,就会出错。看看下面的代码。

 

1 var v1;
2 alert(v1); //undefined
3 alert(v2); //报错

 

再来说说null,Javscript有几个基本类型,Number,String,Boolean,Object。对于Object 类型的变量,他有两种情况,一种是他是一个对象的实例,另一种他是一个空引用null,熟悉类似Java这样面向对象语言的朋友应该很容易理解。对于这两种情况,他们的类型都是Object。Javascript中的变量,在给他赋值的时候,才

会确定它的类型,比如下面这样。

 

1 var v1 = 1;
2 var v2 = true;
3
4 alert(typeof v1); //number
5 alert(typeof v2); //boolean
6
7 v2 = new Date();
8 alert(typeof v2); //object
9
10 v2 = "str";
11 alert(typeof v2); //string
12
13 v2 = null;
14 alert(typeof v2); //object
 

 

可以看到,null在 Javascript中代表一个特殊的Object类型的值,他用来表示空引用的概念,如果要将一个标识符声明称object类型,但是暂时不给他实例,那么就可以将它先初始化为null,以便以后使用。

 

不一定绝对正确,简单来说,对于所有变量,只要声明后还没有指定初始值 ,那么他就是undefined,如果是Object类型用来表示空引用的概念,那么就是用null来表示。

    机器人大战
    (15)机器人大战
    机器人大战游戏发展到现在,也是层次不求,不得不说现在的开发商都在试图寻求商机,抓机遇,只要有点风声草动的,立马就是成群的跟风,好在跟风作品中还有些相当不错的,大家还是可以玩一下。机战是热血男儿的游戏这句经典的话在广大机战迷中广为流传。无数玩家不厌其烦的重复观赏着心爱的机体的必杀动画,心中充满着沸腾的热血。目前也有剧情人物机体全部为原创的机战作品,就是平台上的平台的外传的的魔装机神以及上的,不同于以...更多>>

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)