1、变量声明且没有赋值;
2、获取对象中不存在的属性时;
3、函数需要实参,但是调用时没有传值,形参是undefined;
4、函数调用没有返回值或者return后没有数据,接收函数返回的变量是undefined。