2019年1月13日 星期日

【JavaScript】奇怪的undefined/null/not defined/NaN的差異在哪?


覺得這是一個不知道可以幹嘛的知識?

undefined

  • undefined是一個數值,他的類型就是undefined(就像123數值類型是number)
  • 當變數被初始化卻沒有被賦值給他時,就會給它特殊的undefined值
    數值的類型包括:undefined/number/object/function/string/boolean
var a //初始化變數a,但沒有給他數值
alert(a) //那就給a一個undefined的值好了
alert(typeof a) //undefined

Null

  • undefined是一個數值
  • Null指向一個沒有值的物件(適合當變數還沒放入特定object的時候使用)
var b = null
alert(a) //null
alert(typeof a) //object

NaN

  • NaN的意思是”not a number”
alert(parseInt("ac")); //NaN
//parseInt應該要回傳數字,但AC無法轉成數字,因此會回傳NaN

Not defined

  • 當根本沒有初始化變數時,就瀏覽器就會報錯,顯示Not defined
alert(c) //a is not defined

沒有留言:

張貼留言

【JavaScript】用物件Mapping的方法

If的寫法 我們希望當變數是a時就回傳1,變數是b就回傳2,變數是c就會回傳3,一般寫法就是用if,但是這樣會很冗 ​ // IF style var word if(word == 'a'){ word = 1 } else if...