計算機程序的實質很大程度上可以說是機器對各種信息(值)的操作與讀寫。在JavaScript中,存在多種類型的值,這些值分成兩大類:Primitive(基本類型)和Object(對象)。
Primitive
JavaScript中Primitive有5種類型:
1.Number。所有的數字,無論是整數還是小數,均為Number類型。
2.String。字符串類型。
3.Boolean。布爾類型,true或者false。
4.null。此類型只有null一個值。
5.undefined。此類型只有undefined一個值。
Object
除了Primitive,JavaScript中其它任何值均為Object(對象)。Object有以下幾種:
1.JSON鍵值對對象。如{“name”:”Bob”, “age”:42}。
2.數組(array)。如[1,4,5,7,9]。
3.函數(function)。如function(){return true;}。在JavaScript中函數有兩種存在形式:1. 可執行代碼塊;2. 類(Class)的構造器(constructor)。無論是以哪種形式存在,函數(function)始終都是對象。
JS自帶全局對象
為了方便程序編寫,JavaScript自帶一個全局對象,該全局對象擁有以下7個成員變量,其類型均為Object:
1.Math。可以通過調用Math對象的方法來完成一系列復雜的數學運算。
2.Number。可以通過訪問Number對象的成員變量來獲取一些特殊值。
3.Array。數組對象的構造函數。
4.Function。函數對象的構造函數。
5.Date。日期對象的構造函數。
6.RegExp。正則表達式對象的構造函數。
7.Error。錯誤對象的構造函數。
在進行程序編寫時,由于可以直接訪問上述7個變量,因此也可以將它們當作全局對象來使用。
Immutable與Mutable
Primitive與Object有一個涇渭分明的特性:所有的Primitive都是Immutable的,所有的Object都是Mutable的。以String類型為例,調用String的方法對其進行編輯后,JavaScript會將編輯后的結果保存在一個新的String對象中,原String對象不會有任何改變:
實驗
在JavaScript中,可以通過使用typeof關鍵詞來獲取某個值的類型。
獲取數字的類型:
獲取字符串的類型:
獲取布爾值的類型:
獲取null的類型:
獲取undefined的類型:
獲取JSON對象的類型:
獲取數組對象的類型:
獲取函數對象的類型:
新聞熱點
疑難解答