JavaScript的數據類型

JavaScript有5種簡單數據類型(Undefined,Null,Boolean,Number,String)和一種複雜數據類型Object.只有這六種,再無其餘javascript

2.1.typeof操做符

可使用typeof來檢查所給的數據是什麼類型。java

typeof 1234; //number
typeof "hello"; //string
typeof (true); //boolean
typeof (message); //undefined
typeof (null); //Object

須要注意的是:
1.typeof是一個操做符而不是一個函數,全部能夠不帶括號
2.null的類型是Object,是由於Null是一個空的對象引用函數

2.2.Undefined類型

在使用var聲明變量,但未對其初始化時,這個變量的值就是undefined,表示未被初始化的值指針

var message;
typeof (message); //undefined

2.3.Null類型

Null值表示一個空對象指針,因此使用typeof 檢測時會返回object。
實際上,Undefined也是派生自null,因此下面會返回true:code

alert(null == undefined); //true

在定義一個變量,但暫時還不想對它賦值時,可使用null,不要使用Undefined。對象

2.4.Boolean類型

Boolean類型有兩個值,true和false。注意這兩個值是區分大小寫的。以下:ip

typeof true; //"boolean"

typeof True; //"undefined"

轉換:
要將一個值轉換成boolean值時,可使用Boolean()函數。內存

2.5.Number類型

數值類型分爲整型,浮點型。進制也會不一樣
進制:
八進制前面第一個數必須是0
十六進制前面必須是0x
數值範圍:
數值的大小是根據內存來的,若是超過了內存的限制,最大數會被轉換爲:Infinity,負數會被轉換爲-Infinity。
可使用isFinite()函數檢測數值是否是在(-Infinity,Infinity)之間,若是位於最大數和最小數之間就會返回true.
NaN:
NaN: Not a Number,這個數值表示一個原本要返回數值的操做卻爲返回數值的狀況,這樣就不會拋出錯誤了。字符串

  • 任何涉及NaN的操做都會返回NaN
  • NaN與任何值都不相等,包括NaN自己

isNaN()函數,會檢測這個參數是否是「不是數值」原型

數值轉換:
數值轉換有三個函數,Number(),parseInt(),parseFloat()。
因爲Number()函數在轉換字符串時比較複雜且不夠合理,所以在處理數值時使用parseInt(),parseFloat()這兩個函數
parseInt()接受兩個參數,第一個參數是要轉換的參數,第二個是要轉換的進制。該轉換有一個特色,會把小數點後面的數字省略,只認整數部分。
parseFloat()將數值轉換成字符串,會解析到第一個小數點後面。此方法只解析十進制,只接受一個參數

parseInt("070",8); //56
parseFloat("12.34.2"); //12.34

2.6.String類型

  • string類型可使用length屬性來獲取字符串長度
  • toString()方法返回字符串的一個副本
  • String()方法將數值轉換爲字符串

2.7.Object類型

Object每一個實例都具備如下方法和屬性:

  • constructor:保留着用於建立當前對象的函數
  • hasOwnProperty(propertyName):用於檢查給定的屬性在當前對象實例中(不是在原型中)是否存在,參數用字符串形式指定
  • isPrototypeOf(object):用於檢查傳入的對象是不是當前對象的原型
  • propertyIsEnumerable(propertyName):用於檢查給定的屬性是否可以使用for-in語句來枚舉,參數必須用字符串形式來指定
  • toLocaleString():返回對象的字符串表示,該字符串與執行環境的地區對應
  • toString():返回對象的字符串表示
  • valueOf():返回對象的字符串,數值或布爾值表示,經過與toString()方法的返回值相同
相關文章
相關標籤/搜索