js之精確的區分資料型別

2022-08-23 02:42:15 字數 1777 閱讀 2732

1. typeof

主要用於判斷資料是不是基本資料型別:string、number、object、undefined、boolean,但是無法判斷出function(有些瀏覽器會出錯)、array、regexp、null

console.log(typeof '');//

string

console.log(typeof );//

object

console.log(typeof {});//

object

console.log(typeof 1);//

number

console.log(typeof

null);//

object

console.log(typeof undefined);//

undefined

console.log(typeof

true);//

boolean

console.log(typeof

function(){});//

function

console.log(typeof /\d/);//

object

2. instanceof

主要的目的是用來檢測引用型別,判斷array和regexp,無法準確判斷function

console.log( instanceof array);//

true

console.log({} instanceof object);//

true

console.log(/\d/ instanceof regexp);//

true

console.log(function(){} instanceof object);//

true

console.log(function(){} instanceof function);//

true

console.log('' instanceof string);//

false

console.log(1 instanceof number);//

false

3. object.prototype.tostring

物件的乙個原生原型擴充套件函式,用來精確的區分資料型別

object.prototype.tostring.call(data).slice(8,-1) === 'array'

var type=object.prototype.tostring;

console.log(type.call(''));//

[object string]

console.log(type.call());//

[object array]

console.log(type.call({}));//

[object object]

console.log(type.call(false));//

[object boolean]

console.log(type.call(null));//

[object null]

console.log(type.call(undefined));//

[object undefined]

console.log(type.call(function(){}));//

[object function]

JS資料型別之基礎資料型別

基本資料型別是按值訪問的,也就是說我們可以操作儲存在變數中的實際的值 基本資料型別的值是不可改變的,任何方法都無法改變乙個基本資料型別的值。let name qin ling ling name lisi console.log name 輸出 lisi上面的例子看來name的值好像變了,這裡的基礎...

js之資料型別轉換

js中的資料型別分為以下兩種型別。基本資料型別 數字 number,字串 string,布林 boolean,空 null,未定義 undefined 引用資料型別 物件 object 普通物件,陣列物件 array 正則物件 regexp 日期物件 date 數學函式 math 函式 functi...

JS之資料型別檢測

對於原始型別,除了 null 都可以呼叫typeof顯示正確的型別。typeof 1 number typeof 1 string typeof undefined undefined typeof true boolean typeof symbol symbol 對於引用資料型別,除了函式之外,...