zoukankan      html  css  js  c++  java
  • 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 
  • 相关阅读:
    mysql 实现 start with
    [URLSession sessionWithConfiguration:config delegate:self delegateQueue:[NSOperationQueue mainQueue]
    163邮箱报错WARN: 535 Error: authentication failed.
    iOS开发SDWebImageOptions理解
    Core Graphices 设置渐变
    iOS 解压Assets.car文件
    Core Graphices 获取上下文
    2019春第五周作业
    2019年春季学期第4周作业.
    2019年春季学期第4周作业
  • 原文地址:https://www.cnblogs.com/ghgyj/p/4006648.html
Copyright © 2011-2022 走看看