判斷資料型別的方法

2021-10-06 23:17:59 字數 943 閱讀 3360

typeof只能判斷基本的資料型別,面對物件型別、null、array返回的都是object型別

注意:使用typeof判斷function時,返回的是function。
使用object.prototype.tostring.call()判斷資料型別的好處就是,

所有基本的資料型別都能進行判斷,包括null和undefined

instanceof的具體判斷流程如下:

function instanceof (a, b) else if(o === a) 

a = a.__proto__;

}}

上面的判斷過程可以看出,instanceof 的內部機制是通過判斷物件的原型鏈中是不是能找到型別的 prototype。其實原型鏈的查詢過程。a instanceof array;這個判斷的過程其實就是查詢a的原型鏈中是否能找到b.prototype。

注意:instanceof 只能用來判斷物件型別,原始型別不可以。
var str = '2233';

str instanceof string; // false;

var strobj = new string('2233');

strobj instanceof string // true

constructor屬性返回對建立此物件的陣列函式的引用。就是返回物件相應的建構函式。

.constructor === array // true;

var obj = new object();

obj.constructor === object // true;

"string".constructor === string // true

js資料型別判斷方法

js的資料型別大體上可以分為兩種 原始型別 即基本資料型別 和物件型別 即引用資料型別 而基本資料型別細化可以分為undefined null number boolean string 而js的引用資料型別也就是物件型別object,比如 object array function data等 f...

判斷JS資料型別的方法

js是弱語言,其資料型別可以自動轉換,因此很多時候在用到資料的時刻不清楚資料的型別到底是哪種,需要進行判斷後,再執行語句。最新的ecmascript規範定義的資料型別分為兩大類,分別為基本型別和引用型別。對於資料型別的判斷,有如下的方法 tostring 方法 tostring 方法是object原...

js資料型別的判斷方法

判斷js中的資料型別有一下幾種方法 typeof instanceof constructor prototype type jquery.type 接下來主要比較一下這幾種方法的異同。var a iamstring.var b 222 var c 1,2,3 var d new date var ...