JavaScript資料型別的幾種判斷方法

2021-09-24 11:15:40 字數 1778 閱讀 1176

js資料型別的判斷主要有三種方法:typeof、instanceof、object.prototype.tostring.call()

1、typeof

返回乙個表示資料型別的字串,返回結果包括:number、boolean、string、symbol、object、undefined、function等7種資料型別,但不能判斷null、array等

typeof symbol(); // symbol 有效

typeof ''; // string 有效

typeof 1; // number 有效

typeof true; //boolean 有效

typeof undefined; //undefined 有效

typeof new function(); // function 有效

typeof null; //object 無效

typeof ; //object 無效

typeof new date(); //object 無效

typeof new regexp(); //object 無效

2、instanceof

用來判斷a是否為b的例項,a instanceof b, 返回 boolean 值。instanceof 用來測試乙個物件在其原型鏈中是否存在乙個建構函式的 prototype 屬性,但它不能檢測 null 和 undefined

instanceof array; //true

{} instanceof object;//true

new date() instanceof date;//true

new regexp() instanceof regexp//true

null instanceof null//報錯

undefined instanceof undefined//報錯

3、object.prototype.tostring.call()

一般資料型別都能夠判斷,最準確最常用的一種

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

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

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

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]

JavaScript 資料型別

變數 宣告區域性變數 varmessage 宣告全部變數 message typeof 例如 var message some string alert typeof message string alert typeof message string alert typeof 95 number ...

Javascript資料型別

ecmascript中有5種簡單資料型別 也稱為基本資料型別 1.undefined 該型別只有乙個值,即undefined。在使用var宣告但未初始化時,這個變數就是undefined 2.null 該型別只有乙個值,即null。null undefined 3.boolean 4.number ...

JavaScript資料型別

undefined派生於null,因此在使用 進行比較時會返回true 沒有必要將變數值顯示宣告undefined 宣告空物件時應將其值賦值為nullundefined與null的關係 3 boolean true為真,false為假 true不一定 1,false不一定 0 使用boolean 進...