JS 資料型別

2021-10-02 03:00:30 字數 4322 閱讀 8359

一、資料型別分為兩大型別:基本(值)型別 和 物件(引用)型別

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