JavaScript:資料型別

資料型別

一組屬性描述其定義、標識、表示和允許值的資料單元,在一定語境下,通常用於構建一個語義正確、獨立且無歧義的特定概念語義的資訊單元。

JavaScript的資料型別

字串型別

在JS中字串型別用

單引號或

(雙引號)括起來的任意文字,例如

”jinqian“

’jq‘

等等

數字型別

JavaScript不區分整形和浮點型,以下均為JavaScript中的數字型別

12 //整數120。3 //浮點數0。3-12 //負數121。34e12 //科學計數法NaN //NaN表示 Not a Number,例如:在’js‘/12中就會返回NaNInfinity //表示無限大

布林值

Boolean(布林值),布林值用於表示true和false,布林值只有兩個值,

分別是

true

false

undefined

undefined

在JS中表示為定義,例如在定義一個變數a時,但是未進行賦值,則變數a的預設值極為undefined。

null

null

null是JS中的原始值之一,表示為空值,null和

0

以及

”“

不同,0表示一個數值,””表示空字串,及長度為0的字串,而null就表示的是空

以上型別均為JS中的原始值

object

object

,object是ES5中唯一的引用型別,無論是物件、陣列或是函式等均屬於object型別。

typeof方法

在ES5中,為我們提供了一個檢測資料型別的方法,

typeof。

typeof 2; //’number‘typeof ’jq‘; //’string‘typeof true; //’boolean‘typeof []; //’object‘typeof {}; // ’object‘typeof function(){}; //’function‘typeof null; //’object‘typeof undefined; //’undefined‘typeof /d/; //’object‘

由上面的示例,我們可以看出typeof並不能準確的分辨Array,null,Object以及RexExp等資料型別,因此在這裡我們可以自行封裝一個方法用檢測資料型別。

封裝myType方法

function myType(accept){/*判斷接受到的資料能否被typeof準確識別,若能走else,不能走下面程式碼*/ if(typeof accept === ’object‘){ return Object。prototype。toString。call(accept)。slice(8,-1); }else{ return typeof accept; } }