1. 程式人生 > >js資料型別詳細

js資料型別詳細

1、js資料型別

Javascript中的資料型別可以分為基本資料型別和複合資料型別兩種:

基礎資料型別有5種:Undefined、Null、Boolean、Number和String。

複合資料型別包括:函式(Function)、陣列(Array)、Object(物件)。

(1)基礎資料型別

1、Undefined

Undefined型別只有一個值,即undefined,使用var宣告變數,但是未初始化的,這個變數就是Undefined型別的,例子: 

alert(i == undefined);//true 

var i;與var i = undefined;這兩句是等價的。 

包含Undefined值的變數和未定義的變數是不一樣的。

2、Null

Null型別也只有一個值:null.null表示一個空物件的指標。

3、Boolean

Boolean型別只有兩個字面量true和false。但是js中多有的變數都可以使用Boolean()函式轉換成一個Boolean型別的值。

4、Number

Number型別:整數和浮點數。NaN:Not a Number。這個數值用於本來要返回一個數值,但是卻未能放回一個數值的情況,以防止報錯。 

例如:1/0 返回的就是NaN。NaN的特點:1、任何涉及NaN的操作都會返回NaN。2、NaN對任何值都不相等,包括自己NaN本身。 針對NaN特性,JS內建了isNaN()函式,來確定數值是不是NaN型別。

5、String

字串型別,字串型別是最熟悉不過的啦,至於用單引號,還是雙引號,在js中還是沒有差別的。記得成對出現

(2)複合資料型別

1、函式(Function

	<span style="white-space:pre">	</span><script type="text/javascript">
<span style="white-space:pre">		</span>document.write(isFunction(function test(){}),'<br/>');
<span style="white-space:pre">		</span>document.write(isFunction(10),'<br/>');
<span style="white-space:pre">		</span>function isFunction(obj){
<span style="white-space:pre">		</span>return (typeof obj=='function')&&obj.constructor==Function;
<span style="white-space:pre">		</span>}
<span style="white-space:pre">		</span></script>

2、陣列(Array

<span style="white-space:pre">		</span><script type="text/javascript">
<span style="white-space:pre">		</span>var a=[0];
<span style="white-space:pre">		</span>document.write(isArray(a),'<br/>');
<span style="white-space:pre">		</span>function isArray(obj){
<span style="white-space:pre">		</span>return (typeof obj=='object')&&obj.constructor==Array;
<span style="white-space:pre">		</span>}
<span style="white-space:pre">		</span></script>

3、Object(物件)

<span style="white-space:pre">		</span><script type="text/javascript">
<span style="white-space:pre">		</span>document.write(isObject(new Object()),'<br/>');
<span style="white-space:pre">		</span>document.write(isObject(10),'<br/>');
<span style="white-space:pre">		</span>function isObject(obj){
<span style="white-space:pre">		</span>return (typeof obj=='object')&&obj.constructor==Object;
<span style="white-space:pre">		</span>}
<span style="white-space:pre">		</span></script>

補充:

typeof操作符:對一個變數進行推斷變數的型別,可能返回以下字串:

"undefined" 如果這個值,未定義或者為初始化 

"boolean" 布林值 

"string" 字串 

"number" 數值 
"object" 物件 
"function" 函式 
用法:typeof 95;  或者  typeof(95); 會返回"number"示例程式碼:

<span style="white-space:pre">				</span>var str = 'hello world';<span style="white-space:pre">																</span>alert(typeof(str));<span style="white-space:pre">																	</span>//typeof 運算子的返回值有這麼6種:"number," "string," "boolean," "object," "function," 和 "undefined."