undefined什么意思中文翻译(JavaScript的null和undefined的区别)
共同点:两者都表示“无”
null 表示空的对象指针,没有值。返回null的,有以下几种情况:
- 手动设置变量的值或者对象某一个属性值为null
let b = null
console.log(b) //=> null
- 获取DOM元素,但是没有获取到指定的元素对象

- 原型链的终点也是null

undefined 表示缺少值,就是应该给定义一个值,但是没有这样做。返回undefined的,有以下几种情况:
- 函数定义了形参,但是并没有给传递实参,这时候变量为undefined
function myfuntion(a) {
console.log(a)
}
myfuntion() //=> undefined
- 对象的属性不存在的时候,去使用也会传回undefined
let person = {
age: 12,
}
console.log(person.name) //=> undefined
- 我们定义了一个变量,但是不给赋值的时候,默认为undefined
let str
console.log(str) //=> undefined
- 使用浏览器window对象直接访问一个不存在的变量

- 执行一个函数,但是没有返回值的时候,返回undefined
function myfuntion() {
let a = 12
}
let p = myfuntion()
console.log(p) //=> undefined
- 使用void对表达式求值
void 0 //=> undefined
