const tostring = object.prototype.tostring;
function kindof(val)
if(val === null)
if(val === true || val === false || val instanceof boolean)
if(typeof val === 'string' || val instanceof string)
if(typeof val === 'number' || val instanceof number)
// 函式
if(typeof val === 'function' || val instanceof function)
// 陣列
if(typeof array.isarray !== 'undefined' && array.isarray(val))
//轉化為字串之前判斷物件是否為date【日期物件】與regexp【正規表示式】的例項物件
if(val instanceof regexp)
if(val instanceof date)
// 其他物件
var type = tostring.call(val);
if(type === '[object regexp]')
if(type === '[object date]')
if(type === '[object arguments]')
if(type === '[object error]')
// es6物件: map, weakmap, set, weakset
if(type === '[object set]')
if(type === '[object weakset]')
if(type === '[object map]')
if(type === '[object weakmap]')
if(type === '[object symbol]')
// 陣列型別
if(type === '[object int8array]')
if(type === '[object uint8array]')
if(type === '[object uint8clampedarray]')
if(type === '[object int16array]')
if(type === '[object uint16array]')
if(type === '[object int32array]')
if(type === '[object uint32array]')
if(type === '[object float32array]')
if(type === '[object float64array]')
// 必定是個簡單物件
return 'object';
};
js物件屬性型別 資料型別
js物件屬性型別分為兩類 1.資料型別 2.訪問器型別。1.資料型別 例如 var obj console.log obj.name obj的名字 obj.name obj修改後的名字 console.log obj.name obj修改後的名字 for o in obj delete obj.na...
js 判斷各種資料型別
了解js的都知道,有個typeof 用來判斷各種資料型別,有兩種寫法 typeof typeof 如下例項 typeof 2 輸出 number typeof null 輸出 object typeof 輸出 object typeof 輸出 object typeof function 輸出 fu...
js 判斷各種資料型別
了解js的都知道,有個typeof 用來判斷各種資料型別,有兩種寫法 typeof typeof 如下例項 typeof 2 number typeof null object typeof undefined undefined typeof 222 string typeof true bool...