深入理解javascript之null和undefined

页面导航:首页 > 网络编程 > JavaScript > 深入理解javascript之null和undefined

深入理解javascript之null和undefined

来源: 作者: 时间:2016-01-23 10:23 【

javascript中有两个容易让人忽略的问题,就是null==undefined和null!==undefined。javascript中语法规定==是判断是否相等,===是判断和类型是否相等。这里需要加以区分,undefined表示没有赋&

javascript中有两个容易让人忽略的问题,就是null==undefined和null!==undefined。

javascript中语法规定==是判断值是否相等,===是判断值和类型是否相等。

这里需要加以区分,undefined表示没有赋值的基本数据类型;null表示没有赋值的引用数据类型。

示例代码:

 

var age; 
var id = 100; 
var div02 = document.getElementById("div02");//注:div02是不存在的 
var div01 = document.getElementById("div01");//注:div01存在 
alert(id);//100 
alert(age);//undefined 
alert(div02);//null 
alert(div01);//object

 

内存分配图:

\

 

 

可以看到,null是处理引用的,它在堆中,而undefined是处理原始值的,它在栈中。

null表示没有对象,就是说该处不应该有值,

undefined表示缺少值,就是此处应该有一个值,但是还没有定义。

 

这里要强调一点的是,null参与数据运算时其值会自动转换为0,而undefined参与时其结果一定是NaN。


Tags:

相关文章

    文章评论

    最 近 更 新
    热 点 排 行
    Js与CSS工具
    代码转换工具
    
    <