JavaScript中獲取純正的undefined的方法

字號:


    這篇文章主要介紹了JavaScript中獲取純正的undefined的方法的相關(guān)資料,需要的朋友可以參考下
    1、為什么要獲取undefined?
    因為undefined在javascript中不是保留字,可以被用戶當(dāng)做變量來賦值,這樣如果我們后期需要用到undefined來檢測一個變量的話,那么檢測的值就不準(zhǔn)確了;
    舉個例子:
    var undefined=10;
    function sum(a,b){
     if(a===undefined||b===undefined){
      console.log("參數(shù)不正確");
     }18101130357
     return a+b;
    }
    sum(10,10)->本來正確的參數(shù),控制臺輸出的確實"參數(shù)錯誤";
    這時候,為了兼容所有的瀏覽器,我們就需要獲取一個純正的undefinde
    2、怎樣獲取純正的undefined?
    1) void (0):
    在ECMAScript 262規(guī)范,有如下描述:
    The void Operator
    The production UnaryExpression : void UnaryExpression is evaluated as follows:
    Let expr be the result of evaluating UnaryExpression.
    Call GetValue(expr).
    Return undefined.
    總之,記住無論void后的表達式是什么,void操作符都會返回undefined就好了
    2) 傳入一個為賦值的形參
    [案例]
    function(_undefined){
    //函數(shù)體中不給_undefined賦值,形參_undefined的值就是undefined,在這個函數(shù)用就可以使用_undefined了
    }
    3)未賦值的變量
    舉個例子:var num  //道理和2)是一樣的
    不要厭煩熟悉的事物,每天都進步一點;不要畏懼陌生的事物,每天都學(xué)習(xí)一點;
    PS:js判斷undefined類型
    if (reValue== undefined){
     alert("undefined");
     }
    發(fā)現(xiàn)判斷不出來,最后查了下資料要用typeof
    方法:
    if (typeof(reValue) == "undefined") { 
     alert("undefined"); 
    }
    typeof 返回的是字符串,有六種可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"