標籤:
動態類型
javascript是一種弱類型(動態語言)。這意味著在使用之前不用聲明變數的類型,程式運行時,它的類型會自動確認。
資料類型
ECMAScript中有五種簡單的資料類型:undefined,null,boolean,number,string。還有一種複雜資料類型——Object,object本質上是由一組無序的名值對組成的。ECMAScript不支援任何自訂類型的機制,最終所有的值都將是上述6種資料類型之一。
Undefined類型
它的類型只有一個值,即特殊的undefined。在使用var聲明變數但為對其加以初始化時,這個變數就是undefined,例如
1 var message;2 3 alert(message==undefined); //true
Null類型
nulll類型是第二個只有一個值的資料結構,這個特殊的值是null.從邏輯角度來看,null值是表示一個Null 物件指標,而這也正是typeof操作符檢測null值時會顯示"object"的原因
1 var car=null;2 alert(typeof car); //"object"
Boolean類型
它是使用最多的一種類型,該類型只有兩個字面值:true和 false。
要將一個值轉換為其對應的boolean值,可以調用轉型函數Boolean()
var message="hello world";
var messageAsBoolean=Boolean(message);
在這個例子當中,字串message被轉換成了一個Boolean值,該值被儲存在messageAsBoolean變數中。可以對任何資料類型的值調用Boolean()函數,而且總會返回一個Boolean值。
number類型
根據 ECMAScript 標準,JavaScript 中只有一種數字類型:基於 IEEE 754 標準的雙精確度 64 位元二進位格式的值(-(253 -1) 到 253 -1)。它並沒有為整數給出一種特定的類型。除了能夠表示浮點數外,還有一些帶符號的值:+Infinity,-Infinity 和 NaN (非數值,Not-a-Number)。
String類型
avaScript的字串類型用於表示文本資料。它是一組16位的不帶正負號的整數值的“元素”。在字串中的每個元素佔據了字串的位置。第一個元素的索引為0,下一個是索引1,依此類推。字串的長度是它的元素的數量。
不同於類 C 語言, JavaScript 字串是不可更改的。這意味著字串一旦被建立,就不能被修改。但是,可以基於對原始字串的操作來建立新的字串。例如:
擷取一個字串的子串可通過選擇個別字母或者使用 String.substr().
兩個字串的串連使用串連操作符 (+) 或者 String.concat().
object類型
對象其實就是一組資料與功能的集合。
對象可以通過執行new操作符後跟要建立的對象類名稱來建立。例如:
1 var o=new object();
不過僅僅建立object的執行個體並沒有什麼用處,因為Object類型所具有的任何屬性和方法也同樣存在於更具體的對象當中。
Object的每個執行個體都具有下列屬性和方法。
1.constructor:用於儲存用於建立當前對象的函數。對於前面的例子來說,建構函式就是Object().
2.hasOwnProperty(propertyName):用於檢查給定的屬性在當前對象執行個體中是否存在。例如:o.hasOwnProperty("name")
3.isPrototypeOf(object):用於檢查傳入的隊形是否是傳入對象的原型
4.toLocaleString():返回對象的字串表示,該字串與執行環境的地區相對應。
5.toString():返回對象的字串表示。
6。valueOf():返回對象的字串,數值或者布爾值表示。
本文參考於javascript進階程式設計(第三版)
JavaScript資料結構