首页 > 技术文章 > null和undefined的区别

xutongbao 2017-09-20 17:39 原文

null表示"没有对象",即该处不应该有值。
undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<script>
    //作为对象原型链的终点
    var a = Object.getPrototypeOf(Object.prototype);
    console.log(a); //null

    //变量被声明了,但没有赋值时,就等于undefined
    var i;
    console.log(i) // undefined

    //调用函数时,应该提供的参数没有提供,该参数等于undefined
    function f(x){console.log(x)}
    f() // undefined

    //对象没有赋值的属性,该属性的值为undefined
    var  o = new Object();
    console.log(o.p) // undefined

    //函数没有返回值时,默认返回undefined
    function f2(x){}
    var x = f2();
    console.log(x) // undefined
</script>
</body>
</html>

推荐阅读