美文网首页
024|JavaScript遍历对象属性

024|JavaScript遍历对象属性

作者: 中年小钢炮 | 来源:发表于2017-05-20 22:02 被阅读21次

    我们知道一个对象拥有多个属性,通过“.”或者“[]”可以访问对象属性。那么,我们如何才能知道对象有哪些属性呢?

    现在,要求你写一个函数,对于任意给定的函数参数,输出这个参数对象的所有属性(包括属性名,属性值),通俗一点也即遍历一个对象。

    使用for...in遍历对象属性

    为了实现这个需求,我们可以使用for...in语句。for...in语句的语法规则如下:

    for (var propertyName in object)
    {
        statement。
    }
    

    每一次循环,propertyName将会被指向object的一个属性名字符串。
    我们写个代码测试一下:

    var obj = {x:1, y:2, z:3};
        
    for (var prop in obj)
    {
      console.log("obj." + prop + " = " + obj[prop]);
    }
    

    上述代码,每次循环,我们都输出prop本身,以及以prop为key访问obj属性。看一下输出结果:

    遍历对象属性

    可以看到,我们成功遍历了对象属性。

    for...in只能遍历可枚举属性

    枚举属性将在后面课程讲解,目前你需要知道的是,由你手动添加给对象的属性,都是可枚举属性。

    使用JSON.stringify输出对象属性

    有时候,我们希望快速阅读一个对象的属性,而上文中通过写for...in的方式来展现一个对象的属性,略为麻烦了一些。有没有快捷一点的方法来输出一个对象的属性呢?

    答案是JSON.stringify函数。JSON是运行环境提供的全局变量,而JSON.stringify指向一个函数,这个函数能将参数中的对象的属性转化为字符串。

    我们通过下面的例子来展示一下JSON.stringify的能力:

    var student = {name:"David", age:18}
    console.log(JSON.stringify(student))
    

    我们来看一下运行结果:

    运行结果

    可以看到,student的所有属性均被打印出来了。所以JSON.stringify是一个非常方便查看对象属性的函数。

    好了,这一节讲完了。这一节讲解了如何打印一个对象的属性,希望你能掌握。

    什么是switch语句?
    什么是作用域?

    请继续关注我的课程,我将在后续课程中为大家解答上述问题。

    想学计算机技术吗?需要1对1专业级导师指导吗?想要团队陪你一起进步吗?欢迎加我为好友!

    我的微信

    相关文章

      网友评论

          本文标题:024|JavaScript遍历对象属性

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