資料型別判斷(包含各種物件屬性)

2021-08-10 11:15:54 字數 1511 閱讀 7449

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