区分类型方法

这里用到了原型链上的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
            }
            
            
            }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1 Object 对象 教程:https://wangdoc.com/javascript/stdlib/obje...
    智勇双全的小六阅读 2,571评论 0赞 0
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,633评论 0赞 21
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 10,023评论 0赞 3
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,782评论 0赞 4
  • 12月29日精进。今日体验,客户消费观念不一样,对于车辆维护意识也是不一样的。给客户养护建议,把重要的跟客户沟通好
    吕志刚l阅读 161评论 0赞 0

友情链接更多精彩内容