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."