一、資料型別分為兩大型別:基本(值)型別 和 物件(引用)型別;
1、基本(值)型別;
①、string
型別,任意字串;
①-①:先列印乙個沒有值的變數a
,結果是undefined
var a;
console.
log(a)
;// 輸出 undefined
①-②:列印a
的型別,根據結果可以知道是乙個undefined字串;
因為typeof
返回資料型別的字串表達
var a;
console.
log(
typeof a ===
"undefined");
// 輸出 true
要知道undefined
和字串undefined
不是一種型別
console.
log(undefined ===
"undefined");
// 輸出 false
①-③:當a
有乙個正常的字串的值
var a =
"document"
;console.
log(a)
;// 輸出 document
console.
log(
typeof a)
;// 輸出 "string"
console.
log(
typeof a ===
"string");
// 輸出 true
②、number
型別,任意數字;
var a =1;
console.
log(a)
;// 輸出 1
console.
log(
typeof a)
;// 輸出 "number"
console.
log(
typeof a ===
"number");
// 輸出 true
③、boolean
型別,true/false
;
var a =
true
;console.
log(a)
;// 輸出 true
console.
log(
typeof a)
;// 輸出 "boolean"
console.
log(
typeof a ===
"boolean");
// 輸出 true
④、undefined:undefined
代表定義了,未賦值;
var a;
console.
log(a)
;// 輸出 undefined
console.
log(undefined ===
"undefined");
// 輸出 false
⑤、null:null
代表定義且賦值,但值為null;
var a =
null
;console.
log(a)
;// 輸出 null
console.
log(
typeof a)
;// 輸出 "object"
console.
log(
typeof a ===
"object");
// 輸出 true
所以不建議用typeof去判斷是否為null,建議用如下**
console.
log(a ===
null);
// 輸出 true
2、物件(引用)型別;
①、object
:任意物件;
①-①:乙個最簡單的空物件
var a =
newobject()
;console.
log(a)
;// 輸出 {}
console.
log(a instanceof
object);
// 輸出 true
其中console.log(a instanceof object);
的意思就是:new object()
是乙個建構函式,a
是否是new object()
建構函式的例項;
①-②:instanceof
,判斷物件的具體型別
var a =
}console.
log(a instanceof
object);
// 輸出 true
console.
log(a.a1 instanceof
array);
// 輸出 true
console.
log(a.a1 instanceof
object);
// 輸出 true,因為陣列array也是一種特殊的物件
console.
log(a.a2 instanceof
function);
// 輸出 true
console.
log(a.a2 instanceof
object);
// 輸出 true,因為函式function也是一種特殊的物件
②、function
:一種特殊的物件(可執行);
②-①:乙個最簡單的函式,只要在函式名後加上括號(),就可以執行函式
function
box(
)box()
;// 執行結果 "乙個函式"
②-②:判斷函式
var
boxfn
=function
box(
)console.
log(boxfn instanceof
function);
// 輸出 true
console.
log(boxfn instanceof
object);
// 輸出 true,因為函式function也是一種特殊的物件
③、array
:一種特殊的物件(數值下標,有序的資料);
var boxarr =[1
,2,3
,"abc",5
,6];
console.
log(boxarr[2]
);// 輸出 3
console.
log(boxarr instanceof
array);
// 輸出 true
console.
log(boxarr instanceof
object);
// 輸出 true,因為陣列array也是一種特殊的物件
最終補充:
1、typeof
返回資料型別的字串表達,可以判斷undefined / 數值 / 字串 / 布林值 / function,不能判斷null與object、array與object;
2、instanceof
,判斷物件的具體型別
js資料型別
一.原始資料型別 1.typeof 運算子。var a alert typeof a 輸出結果為 undefined 2.undefined 未定義 型別 當變數未定義時,該變數值被預設為undefined 如 var a alert typeof a 輸出結果為 undefined 注意值unde...
js資料型別
js 基本資料型別 undefined null boolean number string js 操作符 typeof檢測給定變數的資料型別。返回值表示的型別 undefined 值未定義。boolean 值為布林型別。string 值為字串。number 值為數字。object 值為物件或nul...
js資料型別
var num 1,boo true,aa null,bb,str mary arr 1,2,4,8 obj arrnew new array 1,2,3 strnew new string 1,2,3 用 typeof 檢測變數的型別 console.log number typeof num n...