美文网首页
类数组与typeof底层自行实现[JavaScript_014]

类数组与typeof底层自行实现[JavaScript_014]

作者: 六亲不认的步伐 | 来源:发表于2019-03-18 19:50 被阅读0次

    类数组


    • 定义: 输出的结果类似于数组,但是不能调用数组的方法
    • 例如:
        function test() {
        console.log(arguments); //此时输出的arguments类似于数组,为[1,2,3,4,5,6]
    }
    test(1, 2, 3, 4, 5, 6);
    
    • 组成部分:属性要为索引(数字)属性,必须有length属性

    面试题(回答obj的构成)


        var obj = {
        "2": "a",
        "3": "b",
        "length": 2,
        "push": Array.prototype.push
    }
    obj.push('c');
    obj.push('d')
    

    结果为:

    var obj = {
        "2": "c",
        "3": "d",
        "length": 4,
        "push": Array.prototype.push
    }
    

    原理:深入理解Push()原理

    typeof实现(工具)


    function type(target) {
        var compare = {
            "[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 compare[str];
        } else {
            return typeof(target);
        }
    }
    

    相关文章

      网友评论

          本文标题:类数组与typeof底层自行实现[JavaScript_014]

          本文链接:https://www.haomeiwen.com/subject/ptobmqtx.html