美文网首页
15.判断类型的通用方法

15.判断类型的通用方法

作者: jqClub | 来源:发表于2018-10-15 19:40 被阅读0次
const toString = Object.prototype.toString;

export function type(x) {
    if(x === null){
        return 'null';
    }

    const t= typeof x;

    if(t !== 'object'){
        return t;
    }

    let c;
    try {
        c = toString.call(x).slice(8, -1).toLowerCase();
    } catch(e) {
        return 'object';
    }

    if(c !== 'object'){
        return c;
    }

    if(x.constructor == Object){
        return c;
    }

    try {
        // Object.create(null)
        if (Object.getPrototypeOf(x) === null || x.__proto__ === null) {
            return 'object';
        }

        return 'unknown';
    } catch(e) {
        // ie下无Object.getPrototypeOf
        return 'unknown';
    }
}

备注:转载于 [jsmini]

相关文章

  • 15.判断类型的通用方法

    备注:转载于 [jsmini]

  • 【Swift】判断类型

    在OC中我们判断类型是通过 方法进行判断类型的,而在Swift3中判断类型的方法为: 使用方法:判断subView...

  • JavaScript - 4.数据类型判断

    数据类型判断 节点类型 nodeType 数据类型 typeof 方法 数组 Array 的判断 非数字的判断

  • JavaScript - 基本类型判断

    判断类型的方法有很多 , 将一一介绍 , 后面有最简单的判断方法哦 typeof 方法 判断数组类型 方法一之 i...

  • js 比Typeof更精确的类型判断

    常用的类型判断方法typeof 不是很精确,于是自定义了一个判断类型的方法: 为什么类型判断会和toString扯...

  • js 判断变量是否为数组

    方法一:instanceof 判断 方法二:原型链方法 方法三:通用的方法 ☞ 使用 Object.prototy...

  • 判断类型

    判断类型 获取变量的类型对象 获取类型 is 方法

  • 链表篇

    有环链表判断,快慢指针 通用克隆数据结构方法 Tricky 方法

  • NSScanner使用方法

    实例方法 判断是否是int类型 判断是否是float类型 方法使用 读取下一行

  • Python --- 序列类型及操作

    笔记主要由来于 慕课网 Python 语言程序设计 序列类型定义序列类型通用操作符序列类型通用函数和方法元组类型...

网友评论

      本文标题:15.判断类型的通用方法

      本文链接:https://www.haomeiwen.com/subject/rxdqzftx.html