js基礎⑥

來源:互聯網
上載者:User

標籤:null   js基礎   code   false   strong   不同的   判斷   結果   var   

一、typeof 

檢測變數的資料類型“

typeof "John"                // 返回 string typeof 3.14                  // 返回 numbertypeof false                 // 返回 booleantypeof [1,2,3,4]             // 返回 objecttypeof {name:‘John‘, age:34} // 返回 object

ps:數組是特殊的物件類型,所以返回object

 

二、null

表示什麼都沒有,是個只有一個值得特殊類型,Null 物件引用

typeof null               // 返回 object

用來清Null 物件:

var my_name = null;  // 值 為 null(空), 但類型為對象

 

三、undefined

沒有設定值的變數。

undefined也能清Null 物件:

var my_name = undefined;     // 值為 undefined, 類型為 undefined
清空變數:

 person = undefined;

typeof沒有值得變數結果為undefined:

var person;                  // 值為 undefined(空), 類型是undefinedtypeof person             //undefined

 

四、undefined與null區別

null 和 underfined 的值相等,但類型不等:

typeof undefined             // undefinedtypeof null                  // objectnull === undefined           // falsenull == undefined            // true

 

五、資料類型

在 JavaScript 中有 5 種不同的資料類型:

  • string
  • number
  • boolean
  • object
  • function

3 種物件類型:

  • Object
  • Date
  • Array

2 個不包含任何值的資料類型:

  • null
  • undefined
typeof "John"                 // 返回 string typeof 3.14                   // 返回 numbertypeof NaN                    // 返回 numbertypeof false                  // 返回 booleantypeof [1,2,3,4]              // 返回 objecttypeof {name:‘John‘, age:34}  // 返回 objecttypeof new Date()             // 返回 objecttypeof function () {}         // 返回 functiontypeof myCar                  // 返回 undefined (如果 myCar 沒有聲明)typeof null                   // 返回 object

 

ps:

  • NaN 的資料類型是 number
  • 數組(Array)的資料類型是 object
  • 日期(Date)的資料類型為 object
  • null 的資料類型是 object
  • 未定義變數的資料類型為 undefined

如果對象是 JavaScript Array 或 JavaScript Date ,我們就無法通過 typeof 來判斷他們的類型,因為都是 返回 Object。通過下面的constructor屬性。

 

六、constructor 

constructor 屬性返回所有 JavaScript 變數的建構函式。

"John".constructor                 // 返回函數 String()  { [native code] }(3.14).constructor                 // 返回函數 Number()  { [native code] }false.constructor                  // 返回函數 Boolean() { [native code] }[1,2,3,4].constructor              // 返回函數 Array()   { [native code] }{name:‘John‘, age:34}.constructor  // 返回函數 Object()  { [native code] }new Date().constructor             // 返回函數 Date()    { [native code] }function () {}.constructor         // 返回函數 Function(){ [native code] }

 

可以通過屬性的值來判斷具體是數組還是時間:

function isArray(myArray) {    return myArray.constructor.toString().indexOf("Array") > -1;} //判斷是否為Arrayfunction isArray(myArray) {    return myArray.constructor.toString().indexOf("Date") > -1;} //判斷是否為Date

 

七、資料類型轉換

 

1、數字轉字串

全域方法-- String()方法: 

String(x)         // 將變數 x 轉換為字串並返回String(123)       // 將數字 123 轉換為字串並返回String(100 + 23)  // 將數字運算式轉換為字串並返回

 

 Number方法--toString方法:

x.toString()(123).toString()(100 + 23).toString()

 

2、布爾值轉字串

全域方法-- String()方法:

String(false)        // 返回 "false"String(true)         // 返回 "true"

 

Boolean方法--toString方法:

false.toString()     // 返回 "false"true.toString()      // 返回 "true"

 

continue...

 

js基礎⑥

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.