美文网首页
遍历、枚举对象

遍历、枚举对象

作者: 此人已失联好几天 | 来源:发表于2020-04-17 16:10 被阅读0次

遍历、枚举对象

        let obj = {
            a: 123456,
            b: 456123,
            c: 789123,
            d: 8523,
            __proto__: {
                name: "123456"
            }
        };
        // 当前遍历会把原型上的属性也给打印出来(__proto__为原型)
        for (let key in obj) {
            console.log(obj[key]);
            // 123456
            // 456123
            // 789123
            // 8523
            // '123456'
        }

hasOwnProperty方法的使用

        let obj = {
            a: 123456,
            b: 456123,
            c: 789123,
            d: 8523,
            __proto__: {
                name: "123456"
            }
        };
        for (let key in obj) {
            // 判断是否为对象自定义属性,不包含(__proto__原型属性)
            if(obj.hasOwnProperty(key)) {
                console.log(obj[key]);
                // 123456
                // 456123
                // 789123
                // 8523
            }
        }

instanceof的使用

        // 为true的例子
        function Car() {}
        let car = new Car();
        // 判断car是否是Car构造函数构造出来的
        console.log(car instanceof Car); // true
        // 为true的例子
        let obj = {}; // 或者obj = []
        // 判断obj 的原型链上有没有Object的原型
        console.log(obj instanceof Object); // true
        // 为false的例子
        function Car() {}
        let car = new Car();
        let obj = {};
        // 判断obj是否是Car构造函数构造出来的
        console.log(obj instanceof Car); // false

A instanceof B
综上示例得出该结论:看A对象的原型链上 有没有 B的原型

相关文章

网友评论

      本文标题:遍历、枚举对象

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