自定义封装一个方法让这个方法可以判断所有的数据类型并返回

简介: 自定义封装一个方法让这个方法可以判断所有的数据类型并返回
<script>
    function getType(obj) {
        let type = typeof obj;
        if (type !== "object") {
            return type;
        }
        if(Object.prototype.toString.call(obj).length === 13){
            return Object.prototype.toString.call(obj).slice(-5,-1);
        }
        if(Object.prototype.toString.call(obj).length === 14){
            return Object.prototype.toString.call(obj).slice(-6,-1);
        }
        return Object.prototype.toString.call(obj).slice(-7,-1);
    }
    console.log(getType(null));
    console.log(getType(1));
    console.log(getType('123'));
    console.log(getType(false));
    console.log(getType([1,2,3,4]));
    console.log(getType({a:123}));
    console.log(getType(null));
    console.log(getType(undefined));
    console.log(getType(()=>{}));
</script>

65ecf52634e1454c8fd10e53254f134b.png


首先方法通过 type 判断 是基础类型还是 复杂数据类型 如果是基本数据类型就直接返回基本数据类型 但是这里的null 也算object 并且 Object.prototype.toString.call(obj)的返回值格式是[ object object/null/Array ] 因为后面的个数不同 所以 在这里根据的是Object.prototype.toString.call的返回值长度来判断是Null还是object还是Array  这样根据不同的判断可以获取到所有的返回值 并且不会带空格

相关文章
|
6月前
通过反射获取方法返回的类型
通过反射获取方法返回的类型
|
1月前
|
JSON 前端开发 数据格式
@RequestMapping运用举例(有源码) 前后端如何传递参数?后端如何接收前端传过来的参数,传递单个参数,多个参数,对象,数组/集合(有源码)
文章详细讲解了在SpringMVC中如何使用`@RequestMapping`进行路由映射,并介绍了前后端参数传递的多种方式,包括传递单个参数、多个参数、对象、数组、集合以及JSON数据,并且涵盖了参数重命名和从URL中获取参数的方法。
73 0
@RequestMapping运用举例(有源码) 前后端如何传递参数?后端如何接收前端传过来的参数,传递单个参数,多个参数,对象,数组/集合(有源码)
|
6月前
|
C++
【C++】istream类型对象转换为逻辑条件判断值
【C++】istream类型对象转换为逻辑条件判断值
【C++】istream类型对象转换为逻辑条件判断值
|
6月前
|
JSON Java API
java 写一个循环不断请求接口A判断返回值是否符合条件,不符合等待30秒继续请求判断
java 写一个循环不断请求接口A判断返回值是否符合条件,不符合等待30秒继续请求判断
187 0
|
前端开发 Java 数据库
SpringBoot返回枚举对象中的所有属性以对象的形式返回(一个@JSONType解决)
SpringBoot返回枚举对象中的所有属性以对象的形式返回(一个@JSONType解决)
793 0
|
Java 编译器
重载的方法能否根据返回类型进行区分?
重载的方法不能根据返回类型进行区分。方法的重载是基于方法名称和参数列表来进行区分的,与返回类型无关。这是因为在Java中,编译器在确定要调用哪个重载方法时,仅根据传递给方法的参数来进行决策。
364 0
|
前端开发
前端解决后端接口返回数组类型数据为空的报错
前端解决后端接口返回数组类型数据为空的报错
504 0
前端解决后端接口返回数组类型数据为空的报错
|
小程序 前端开发 数据库
小程序__01--后端返回类型是一个object具体类,前端小程序如何提取类中的私有变量
后端返回类型是一个object具体类,前端小程序如何提取类中的私有变量
|
测试技术 Android开发
怎么知道方法的参数有哪些类型呢?
怎么知道方法的参数有哪些类型呢?
213 0
|
存储 Java
Java 技术篇-借助自定义对象实现函数返回多个不同类型的值实例演示
Java 技术篇-借助自定义对象实现函数返回多个不同类型的值实例演示
444 0
Java 技术篇-借助自定义对象实现函数返回多个不同类型的值实例演示