void 0 等於 undefined 爲何不直接用undefined

緣由一: 因爲undefined並非保留字 ,在ie8及ie8以前是能夠直接賦值的chrome

緣由二:  在函數中若是undefined做爲函數參數,則會有可能出錯,像下面這樣,經chrome49.0測試會出現該問題 因此謹慎一點別用undefined,函數

     不謹慎的話也別把undefined這麼用。oop

var foo = function (undefined) {

    "use strict";

    var x = "foo";
    console.log(x); // "foo"
    var x = undefined;
    console.log(x); // "oops"

};

foo('oops');
相關文章
相關標籤/搜索