js判断变量的类型(使用闭包来玩一把)

        var Type = (function() {
            var Type = {};

            for (var i = 0, type; type = ['Undefined', 'Null', 'Boolean', 'Number', 'String', 'Function', 'Array', 'Object'][i++]; ) {

                (function(type) {
                    Type['is' + type] = function(obj) {
                        return Object.prototype.toString.call(obj) === '[object ' + type + ']';
                    }; 
                })(type);

            };

            return Type;
        })();

        console.log(Type.isUndefined());    // true
        console.log(Type.isNull(a = null));    // true
        console.log(Type.isBoolean(false));    // true
        console.log(Type.isNumber(123));    // true
        console.log(Type.isString('str'));    // true
        console.log(Type.isFunction(function() {}));   // true
        console.log(Type.isArray([1, 2, 3]));    // true
        console.log(Type.isObject({}));    // true

 

posted @ 2017-07-03 10:43  Sorrow.X  阅读(377)  评论(0编辑  收藏  举报