js總結1

 

 

NaN是一個特殊的數量值,不表示一個數字,儘管下面的代碼仍然是返回類型爲numberjavascript

console.log(typeof NaN);//number
console.log(typeof NaN==='number');//truejava

可見typeof不能真正區分數字與NaN的區別。函數

爲了進一步區分NaN與數字,能夠使用isFinite函數,若是有限數值,該函數將返回true,若是是NaN、正負無窮大的數值,則返回false。對象

關於NaN的運算規則:ip

若是NaN是數學運算中的一個運算數,那麼它與其餘運算數的運算結果就會是NaN原型鏈

NaN===NaN;//false;(我本身就理解成雖然不是number,但不是number的有好多,也必定不會都相等)原型

NaN!==NaN;//true;數學

undefined的值在以下狀況下出現:it

  • 從一個對象中獲取某個屬性,若是該對象及其原型鏈中的對象都沒有該屬性,該屬性的值爲undefined。
  • 一個函數沒有顯示經過return語句將返回值範湖給其調用者,其返回值就是undefined,但在使用new調用函數時例外。
  • javascript的函數能夠是用聲明任意多個形參,當該函數實際被調用時,傳入的參數的個數若是小於聲明的形式參數的個數,那麼多餘的形式參數的值就是undefined
相關文章
相關標籤/搜索