在JavaScript中瞳浦,null 和 undefined 幾乎相等,但是有些區(qū)別
null表示沒有對(duì)象控嗜,即該處不應(yīng)該有值
1) 作為函數(shù)的參數(shù)蘑辑,表示該函數(shù)的參數(shù)不是對(duì)象
2) 作為對(duì)象原型鏈的終點(diǎn)
undefined表示缺少值常侦,即此處應(yīng)該有值浇冰,但沒有定義
1)定義了形參,沒有傳實(shí)參聋亡,顯示undefined
2)對(duì)象屬性名不存在時(shí)肘习,顯示undefined
3)函數(shù)沒有寫返回值,即沒有寫return坡倔,拿到的是undefined
4)寫了return漂佩,但沒有賦值脖含,拿到的是undefined
console.log(null==undefined); //true 因?yàn)閮烧叨寄J(rèn)轉(zhuǎn)換成了false
console.log(typeof undefined); //"undefined"
console.log(typeof null); //"object"
console.log(null===undefined); //false "==="表示絕對(duì)相等,null和undefined類型是不一樣的投蝉,所以輸出“false”
null和undefined轉(zhuǎn)換成number數(shù)據(jù)類型
null 默認(rèn)轉(zhuǎn)成 0
undefined 默認(rèn)轉(zhuǎn)成 NaN
5 + null //5
5 + undefined //NaN
轉(zhuǎn)自:http://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html
轉(zhuǎn)自:http://www.reibang.com/p/7514e2d56661