javascript - 使用未定义的变量值

    技术2022-05-19  29

    javascript里面一般不能使用未定义的值,但是下面几种情况除外:

     

    1. 赋值语句中:

     

    a=9;

     

    alert(a)  //9

     

    赋值语句中需要赋值的变量没定义会先定义,再赋值。另外从 a=b=c=8 不报错可以看出赋值语句是从右向左执行的。

     

    2. for in语句中:

     

    for(key in {name:'goofy'}){

    alert(key)    //"name"

    }

    alert(key)    //"name"

     

     

    for in语句中in左边的变量如果没定义也会先定义

     

    3. typeof运算符后:

     

     

    alert(typeof a) //'undefined'

     

    alert(a)  //Uncaught ReferenceError: a is not defined

     

     

    typeof 运算符可以跟未定义的值,但是不会去主动定义它

     

     

    4. 对象属性:

     

     

    var o={name:'goofy'}

     

    alert(o.name)  // 'goofy'

     

    o[age]=24; // Uncaught ReferenceError: age is not defined

     

    alert(o.age)

     

     

    在定义对象属性的时候如果是json直接量的形式可以使用没定义的值, 但是如果用下标的形式就会报错

     

    5. function的参数:

     

    function fn(a,b){

    alert(a)  //4

    alert(b)  //'undefined'

    }

     

    fn(4)

     

    函数执行的时候会主动定义参数,所以在函数体内可以直接使用函数的参数,即时方法调用的时候这个参数并没有传递也不会报错

     


    最新回复(0)