undefined 和 null

197 阅读1分钟

自己写的代码自己不知道输出啥

function aFun() {
    return
}
var aRes = aFun()
console.log(aRes)

function bFun() {
    console.log(arguments[0])
    return arguments[0]
}
var bRes = bFun()
console.log(bRes)

emmmmm。。。就查了一下 undefinednull 到底个啥

找呀找,就到了这 undefined与null的区别

null 和 undefined 目前典型用法

null表示"没有对象",即该处不应该有值。

  • 作为函数的参数,表示该函数的参数不是对象。(暂时没用过,也没见过)

  • 作为对象原型链的终点。Object.getPrototypeOf(Object.prototype)

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

  • 变量被声明了,但没有赋值时,就等于 undefined。(显然的)

  • 调用函数时,应该提供的参数没有提供,该参数等于 undefined。(文章开头第二段代码,调用 bFun 函数时没有传入参数,arguments[0] 就是 undefined)

  • 对象没有赋值的属性,该属性的值为 undefined。(显然的)

  • 函数没有返回值时,默认返回 undefined。(文章开头第一段代码,aFun 函数没有返回值,调用时返回了 undefined)