判斷JS資料型別的方法

2021-09-24 19:51:10 字數 1601 閱讀 4615

js是弱語言,其資料型別可以自動轉換,因此很多時候在用到資料的時刻不清楚資料的型別到底是哪種,需要進行判斷後,再執行語句。

最新的ecmascript規範定義的資料型別分為兩大類,分別為基本型別和引用型別。

對於資料型別的判斷,有如下的方法:

tostring()方法:tostring()方法是object原型上的方法,呼叫tostring()方法預設返回當前物件的[[class]]屬性,這是乙個內部屬性,格式為[object ***],其中***就是資料型別,x表示大寫字母。

作為目前最有效的判斷資料型別的方法,tostring()方法可以這樣呼叫object.prototype.tostring.call(arg);其中,arg為引數,即要進行型別判斷的變數。

object.prototype.tostring.call('') ;   // [object string]

object.prototype.tostring.call(1) ; // [object number]

object.prototype.tostring.call(true) ; // [object boolean]

object.prototype.tostring.call(symbol()); //[object symbol]

object.prototype.tostring.call(undefined) ; // [object undefined]

object.prototype.tostring.call(null) ; // [object null]

object.prototype.tostring.call(new function()) ; // [object function]

object.prototype.tostring.call(new date()) ; // [object date]

object.prototype.tostring.call() ; // [object array]

object.prototype.tostring.call(new regexp()) ; // [object regexp]

object.prototype.tostring.call(new error()) ; // [object error]

object.prototype.tostring.call(document) ; // [object htmldocument]

object.prototype.tostring.call(window) ; //[object global] window 是全域性物件 global 的引用

typeof操作符: 其後接一元表示式,返回結果是number、boolean、symbol、string、object、undefined、function這7中資料型別的一種。在用typeof做判斷時,返回的結果不夠精細,比如typeof null; // object只返回object型別而不是null型別;

instanceof操作符:這是用來判斷原型與例項關係的操作符。當例項的__proto__屬性指向了某種型別的prototype時,則instanceof返回true,否則返回false;但這裡也存在著返回結構不夠精細的特點。

js資料型別判斷方法

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

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

js 判斷資料型別的封裝方法

除js內建方法外,對於數判斷據型別的實現 返回true false 是否是字串 function isstring value 是否是數字 function isnumber value 是否是布林值 function isboolean value 是否undefined function isu...