• 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 
  • 相关阅读:
    进程通信
    python模块成像库pillow
    python模块IO
    python模块StringIO和BytesIO
    DJango重写用户模型
    DJango模型Meta选项详解
    DJango中事务的使用
    批量删除文件
    批量修改文件名字或后缀
    自定义中间件实现插拔设计
  • 原文地址:https://www.cnblogs.com/ghgyj/p/4006648.html
Copyright © 2020-2023  润新知