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