undefined

1、定义变量未给其赋值

1)函数词法作用域内

var str = "123";
function  add1() {
    console.log(str)  // underfined
    var str = "456";
}
add1()

这里str 的值为undefined , 因为在词法分析完,构建函数作用域链的时候,函数局部变量已经声明未进行赋值,函数内部都是可见的。

2、return关键字后没有任何表达式,则该函数返回underfined

3、读取一个不存在的属性

4、函数参数,当实参个数少于形参个数时,多余的形参为undefined

function  add1(a,b,c) {
    console.log(a)   // 1
    console.log(b)   // undefined
    console.log(c)   // undefined
}
add1(1)

你可能感兴趣的:(undefined)