javascript中使用未定義變量或值的情況分析

字號:


    本文實例講述了javascript中使用未定義變量或值的情況。分享給大家供大家參考,具體如下:
    javascript里面一般不能使用未定義的值,但是下面幾種情況除外:
    1. 賦值語句中:
    a=9;
    alert(a) //9
    賦值語句中需要賦值的變量沒定義會先定義,再賦值。另外從 a=b=c=8 不報錯可以看出賦值語句是從右向左執(zhí)行的。
    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的參數(shù):
    function fn(a,b){
        alert(a) //4
        alert(b) //'undefined'
    }
    fn(4)
    函數(shù)執(zhí)行的時候會主動定義參數(shù),所以在函數(shù)體內(nèi)可以直接使用函數(shù)的參數(shù),即時方法調(diào)用的時候這個參數(shù)并沒有傳遞也不會報錯
    希望本文所述對大家JavaScript程序設(shè)計有所幫助。