首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在JavaScript中打印出对象的所有属性以及分配给它们的值?

如何在JavaScript中打印出对象的所有属性以及分配给它们的值?
EN

Stack Overflow用户
提问于 2014-01-12 04:32:29
回答 4查看 197关注 0票数 2

假设你有一个在javaScript中创建的对象,你想打印出属性和相应的值,你该怎么做呢?下面是一个例子。显然,在现实生活中,我不会一直制作物体,但请耐心等待。

代码语言:javascript
复制
var houseA = {
    county: "Falls County",
    school: "Trinity West Elementary School",
    square_feet: 2500,
    specs: "3 bedroom and 2 bath"
};

for(var prop in houseA) {
    document.write(prop);
}

//This would out put 
county
school
square feet
specs

你如何让它输出带有属性的值呢?

我知道你可以通过执行下面的操作来手动完成。

代码语言:javascript
复制
document.write(houseA.county);
document.write(houseA.school);  

以此类推,以此类推。

EN

回答 4

Stack Overflow用户

发布于 2014-01-12 04:34:18

在javascript中,您可以访问对象属性值,将对象视为关联数组:

代码语言:javascript
复制
for(var prop in houseA) { document.write(prop); document.write(houseA[prop]); }

编辑:

您的对象具有无效语法,如果您在属性名称中使用空格,请用引号将其引起来,否则将是语法错误。

票数 6
EN

Stack Overflow用户

发布于 2014-01-12 04:40:35

使用JavaScript的最佳实践是确保不包含任何可能继承的原型对象的属性,因此:

代码语言:javascript
复制
for (var property in houseA) {
    if (houseA.hasOwnPropery(property)) {
        document.write(property + ': ' + houseA[property]);
    }
}

这将写成:

代码语言:javascript
复制
county: Falls County

正如@ManofSnow正确指出的那样-如果像这样定义,你就不能拥有一个包含空格的对象的属性。但是,您可以用引号将属性括起来。

票数 1
EN

Stack Overflow用户

发布于 2014-01-12 04:59:12

简单:

代码语言:javascript
复制
var prop;

for (prop in houseA) {
    if (houseA.hasOwnProperty(prop)) {
        console.log(prop + ':' + houseA[prop]);
    }
}

仅当迭代对象的属性时,才建议将用于循环迭代。我在循环之前声明了prop var,以避免提升。方法hasOwnProperty是为了避免从原型中打印变量,最后我使用console.log()在控制台上打印内容,您可以将其更改为document.write()。

干杯。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21067534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档