工具函式的封裝 判斷js資料型別

2021-10-08 08:35:36 字數 1457 閱讀 2467

利用object.prototype.tostring

console.log(object.prototype.tostring.call("hello"));//[object string]

console.log(object.prototype.tostring.call(123));//[object number]

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

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

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

console.log(object.prototype.tostring.call());//[object object]

console.log(object.prototype.tostring.call(function(){}));//[object function]

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

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

console.log(object.prototype.tostring.call(/\d/));//[object regexp]

function foo(){}

console.log(object.prototype.tostring.call(new foo()));//[object object]

封裝:

// 判斷乙個型別, 返回true/false

const istype = type => obj => object.prototype.tostring.call(obj) === `[object $]`;

const isnumber = istype('number')

const isarray = istype('array');//

const issymbol = istype1('symbol');

isarray([1,2,3]) ;// true

issymbol(symbol()); // true

使用:

在元件復用的時候,給元件傳進去的字段相同,但字段的值未必相同,比如item.commentdate可能是時間戳34324702347, 也可能是時間字串『2020-07-21 12: 34: 09』, 所以這裡根據判斷型別顯示,如果是時間戳就對時間戳格式化處理,如果是時間字串就正常顯示。

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

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

封裝判斷資料型別方法的函式

首先用typeof判斷資料型別共有六種情況 注意 會將null,array都輸出成object 用object.prototype.tostring.call 來判斷資料型別 var a object.prototype.tostring console.log a.call aaa object ...

js判斷資料型別

1 typeof 形如 var x xx typeof x string 返回型別有 undefined string number boolean function object 缺點 對於object型別不能細分是什麼型別 優點 對空null的判斷 undefined 的應用 2 instanc...