js獲取資料型別的方法有一下幾種,
1.typeof()
2.object.prototype.tostring.call()
3. instanceof運算子
下面開始介紹
typeof()可以 識別基本型別,但是無法區分array,regexp,{}物件
例子:
typeof(1
);//返回number
object.prototype.tostring.call()可以識別基本型別、array,regexp,{}物件,但是無法區分自定義的函式
例子
var b=
newarray()
;console.
log(object.prototype.tostring.
call
(b))
;//返回[object array]
functiona(
);//下面無法區分
var b=
newa()
;console.
log(object.prototype.tostring.
call
(b))
;//返回[object object]
functionc(
);var b=
newc()
;console.
log(object.prototype.tostring.
call
(b))
;//返回[object object]
instance運算子可以用來判斷是否屬於該資料型別,返回 布林值,可以支援所有的資料型別和自定義函式
例子見下
var b=
newarray()
;console.
log(b instanceof
array);
//返回true
functiona(
);var b=
newa()
;console.
log(b instanceofa)
;//返回true
functionc(
);var b=
newc()
;console.
log(b instanceofc)
;//返回true
使用instance運算子時,需要對原型鏈比較熟悉,不然容易掉坑。比較好的js原型鏈理解推薦看這兩位作者的:
[知乎作者doris]](
碼農何時
js判斷資料型別幾種方法
js資料型別的判斷主要有四種方法 typeof instanceof constructor object.prototype.tostring.call 資料型別的包括 number boolean string symbol object array undefined null functio...
js判斷資料型別的幾種方法
判斷js中的資料型別有一下幾種方法 typeof instanceof constructor prototype type jquery.type 接下來主要比較一下這幾種方法的異同。先舉幾個例子 var a iamstring.var b 222 var c 1,2,3 var d new da...
js判斷資料型別的幾種方法
1.typeof 鑑於 ecmascript 是鬆散型別的,因此需要有種手段來檢測給定變數的資料型別,typeof 就是負責提供這方面資訊的操作符。對乙個值使用 typeof 操作符可能返回下列某個字串 缺點 對於陣列和物件或null 都會返回object undefined 如果這個值未定義 bo...