• javascript 如何判断一个对象的类型


    <!DOCTYPE html>
    <html>
    <head>
    </head>
    <body>
    <script type="text/javascript">
    var class2type = {
        '[object Boolean]' : 'boolean',
        '[object Number]' : 'number',
        '[object String]' : 'string',
        '[object Function]' : 'function',
        '[object Array]' : 'array',
        '[object Date]' : 'date',
        '[object RegExp]' : 'regexp',
        '[object Object]' : 'object',
        '[object Error]' : 'error'
    };
    function type( obj ) {
        if ( obj == null ) {
            return obj + "";
        }
        return typeof obj === "object" || typeof obj === "function" ?
            class2type[ toString.call(obj) ] || "object" :
            typeof obj;
    };
    function Foo() {}
    function Bar() {}
    Bar.prototype = new Foo();
    var foo = new Foo();
    var bar = new Bar();
    console.log(type(''));
    console.log(type(undefined));
    console.log(type(null));
    console.log(type(true));
    console.log(type(false));
    console.log(type(1));
    console.log(type(0));
    console.log(type(new String('foo')));
    console.log(type(new Number(10)));
    console.log(type({}));
    console.log(type(new Date()));
    console.log(type(new Error()));
    console.log(type([1,2,3] ));
    console.log(type(new Array(1, 2, 3)));
    console.log(type(new Function("") ));
    console.log(type(/abc/g));
    console.log(type(new RegExp("meow")));
    console.log(type(new Object()));
    console.log(type(foo));
    console.log(type(bar));
    console.log(type(/abc/g));
    </script> 
    </body>
    </html>
    <!DOCTYPE html>
    <html>
    <head>
    </head>
    <body>
    <script type="text/javascript">
    var class2type = {
        '[object Boolean]' : 'boolean',
        '[object Number]' : 'number',
        '[object String]' : 'string',
        '[object Function]' : 'function',
        '[object Array]' : 'array',
        '[object Date]' : 'date',
        '[object RegExp]' : 'regexp',
        '[object Object]' : 'object',
        '[object Error]' : 'error'
    };
    function type( obj ) {
        if ( obj == null ) {
            return obj + "";
        }
        return typeof obj === "object" || typeof obj === "function" ?
            class2type[ toString.call(obj) ] || "object" :
            typeof obj;
    };
    console.log(typeof null);
    console.log(class2type[ toString.call(null) ] );
    console.log(type(null));
    console.log(typeof undefined);
    console.log(class2type[ toString.call(undefined) ] );
    console.log(type(undefined));
    </script> 
    </body>
    </html>
    object type.html:26
    undefined type.html:27
    null type.html:28
    undefined type.html:29
    undefined type.html:30
    undefined 
  • 相关阅读:
    计算机漏洞安全相关的概念POC 、EXP 、VUL 、CVE 、0DAY
    开始使用kali的一些小问题:菜鸟瞎折腾
    nmap参数详解(罗列一下)
    安装kali之后必做的几件小事
    Debian下virtualBox增强功能出错
    ArcGIS Engine 基础功能(一)
    sublime 配置简单的python环境
    解决 ‘Could not fetch URL https://pypi.python.org’的问题
    golang基础语法学习
    大象盒子技术栈
  • 原文地址:https://www.cnblogs.com/ghgyj/p/4006648.html
Copyright © 2020-2023  润新知