美文网首页
区分类型方法

区分类型方法

作者: 开心的小哈 | 来源:发表于2019-01-24 13:00 被阅读0次

这里用到了原型链上的toString

这是因为toString为Object的原型方法,而Array ,function等类型作为Object的实例,都重写了toString方法。不同的对象类型调用toString方法时,根据原型链的知识,调用的是对应的重写之后的toString方法(function类型返回内容为函数体的字符串,Array类型返回元素组成的字符串.....),而不会去调用Object上原型toString方法(返回对象的具体类型),所以采用obj.toString()不能得到其对象类型,只能将obj转换为字符串类型;因此,在想要得到对象的具体类型时,应该调用Object上原型toString方法。

function type(target){
            var temp={
                "[object Array]" : "array",
                "[object Object]" : 'object',
                '[object Number]' : 'number - object',
                '[object Boolean]' : 'boolean - object',
                '[object String]' : 'string - object'
            }
            if(target === null){
                return "null";
            }
            if(typeof(target)=='object'){
                var str =Object.prototype.toString.call(target);
                return temp[str]
            }else{
                return typeof target
            }
            
            
            }

相关文章

  • 区分类型方法

    这里用到了原型链上的toString 这是因为toString为Object的原型方法,而Array ,funct...

  • Java编程思想读书笔记第五章: 初始化和清理

    方法的重载 重载方法可以通过参数列表进行区分,包括参数的类型,数量不同,如下所示 参数类型为基本类型,如果形参类型...

  • JavaScript typeof运算符

    只能区分值类型,不能区分引用类型,能区分出函数来。

  • js判断类型的方法

    js判断类型的几种方法 1.typeof typeof只能判断区分基本类型,即number、string、bool...

  • Java面试题

    1、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分? 答:方法的重载...

  • JAVA方法重载与方法重写辨析

    一、重载(overload)和重写(override)的区别?重载的方法能否根据返回类型进行区分? 方法的重载和重...

  • 初始化与清理

    1. 区分重载方法 规则很简单,每个重载的方法都必须有一个独一无二的参数类型列表。以返回值来区分重载方法是行不通的...

  • 快学Scala读书笔记

    scala不刻意区分原生类型和引用类型 scala单参数方法可以用运算符形式调用,例如: scala没有提供"++...

  • 区分Null、Array、Object类型

    问题: 利用typeof操作符对Null、Array、Object作用返回的都是object类型,区分不开。 方法...

  • javascript基本知识集合

    一.ES基础知识点 1.javascript基本类型有几种?引用类型有哪些?用什么方法可以区分他们? 答:js基本...

网友评论

      本文标题:区分类型方法

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