JS中出现undefined和null情况

出现undefined的情况

  • 创一个变量不赋值,获取这个变量是undefined
  • 获取对象里的属性名所对应的属性值获取不到,是undefined
  • 函数里,实参没有给形参变量赋值,那就是undefined
  • 函数里,没有return(没有返回值),函数里执行结果就是undefined
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//出现undefined的情况
//创一个变量不赋值,获取这个变量是undefined
let a;
console.log(a); //undefined

//获取对象里的属性名所对应的属性值获取不到,是undefined
var obj = {};
console.log(obj.a);//undefined

//函数里,实参没有给形参变量赋值,那就是undefined
function fn(a, b) {
console.log(a, b); //undefined undefined
}
// 函数里,没有return(没有返回值),函数里执行结果就是undefined
console.log(fn()); //undefined

出现null的情况

  • 清对象空间地址手动赋值为null
  • 通过getElementById获取元素,没有对应的ID,那就是null
  • 当正则用捕获时,捕获不到内容,默认捕获结果是null.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//出现null的情况
var obj = {};
obj = null;
console.log(obj);

//通过getElementById获取元素,没有对应的ID,那就是null
let box = document.getElementById("box");
console.log(box); //null

//当正则用捕获时,捕获不到内容,默认捕获结果是null.
let reg=/\d/
console.log( reg.exec("ad"));//null

//获取节点获取不到
let a=document.getElementById("a");
console.log(a.previousElementSibling);//null