29_JavaScript之对象遍历

在JavaScript中对象和数组一样是可以遍历的
对象的遍历就是依次取出对象中所有的属性和方法

在JS中可以通过高级for循环来遍历对象

    以下代码的含义: 将指定对象中所有的属性和方法的名称取出来了依次的赋值给key这个变量
    for(let key in obj){}
    <script>
        class Person {
            constructor(name, age) {
                this.name = name;
                this.age = age;
            }
            say() {
                console.log(this.name, this.age);
            }
        }
        let p = new Person("Durant", 30);
        for (let key in p) {
            console.log(key);
        }
    </script>

控制台输出:
在这里插入图片描述
注意:原型对象中的属性和方法不会被遍历

修改:

    <script>
        class Person {
            constructor(name, age) {
                this.name = name;
                this.age = age;
                this.say = function() {
                    console.log(this.name, this.age);
                }
            }

        }
        let p = new Person("Durant", 30);
        for (let key in p) {
            console.log(key);
        }
    </script>

控制台输出:
在这里插入图片描述

如何遍历属性的值和具体方法呢?我们知道对属性和方法的操作有两种方法
实例对象.属性 实例对象.方法
实例对象[“属性”] 实例对象[“方法”]

所以,遍历属性的值和具体方法我们用**实例对象[key]**的方式

控制台输出:
在这里插入图片描述

如果不想要函数的具体方法,可以这么做

    <script>
        class Person {
            constructor(name, age) {
                this.name = name;
                this.age = age;
                this.say = function() {
                    console.log(this.name, this.age);
                }
            }

        }
        let p = new Person("Durant", 30);
        for (let key in p) {
            if (p[key] instanceof Function) {
                continue;
            }
            console.log(p[key]); // p["name"] / p["age"] / p["say"]
        }
    </script>

控制台输出:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值