我们知道一个对象拥有多个属性,通过“.”或者“[]”可以访问对象属性。那么,我们如何才能知道对象有哪些属性呢?
现在,要求你写一个函数,对于任意给定的函数参数,输出这个参数对象的所有属性(包括属性名,属性值),通俗一点也即遍历一个对象。
使用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专业级导师指导吗?想要团队陪你一起进步吗?欢迎加我为好友!
我的微信
网友评论