null和undefined的概述

一,null

null是JavaScript语言的关键字,它表示一个特殊值,经常使用来描述“空值”,对null执行typeof预算,结果返回字符串"object";值null 是一个字面量,它不像undefined 是全局对象的一个属性!函数

typeof null        // "object" 
var a = null;
typeof(a);        // "object" 
复制代码

出现null的状况:

  • 手动设置变量的值或者对象某一个属性值为null时。
var obj = {
    name: null,
    age: 18
};
console.log(obj.name);
复制代码
  • 在JS的DOM元素获取中,若是没有获取到指定的元素对象,结果通常是null。
<body>
    <button id="btn">我是一个按钮</button>
    <script>
        var btn = document.getElementById('abc');   
        console.log(btn);       //  null
    </script>
</body>
复制代码
  • 在正则捕获的时候,若是没有捕获到结果,默认也是null。

二,undefined

undefined是全局对象的一个属性。也就是说,它是全局做用域的一个变量。undefined的最初值就是原始数据类型undefined。ui

出现undefined的状况

  • 变量声明没有赋值返回undefined
var a;
console.log(a);     // undefined
复制代码
  • 函数没有返回值时,默认返回undefined
function fun(x) {

}
fun(1);           // undefined
复制代码
  • 调用函数时,应该提供的参数没有提供,返回undefined
function fun(a){
    return a;
}
fun();           // undefined
复制代码
  • 对象没有赋值的属性,该属性的值为undefined
var obj = {
    name: 'Andy'
}
obj.age;        // undefined
复制代码
相关文章
相关标签/搜索