封装type

237 阅读1分钟

<script type="text/javascript">

// 1.封装一个type方法,分辨出传进去的所有东西的类型

// 1).分两类 原始值/引用值
// 2).区分引用值
function type(target) {
    var template = {
        "[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 template[str];
    }else{
        return typeof(target);
    }
}

// 数组

// 对象

// 包装类

**// 用Objcet.prototype.toString判断所传数据类型,用Object原型上的toString方法作用在传入的obj上下文中(通过call将this指向obj) **

    </script>