假设你有一个在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你如何让它输出带有属性的值呢?
我知道你可以通过执行下面的操作来手动完成。
document.write(houseA.county);
document.write(houseA.school); 以此类推,以此类推。
发布于 2014-01-12 04:34:18
在javascript中,您可以访问对象属性值,将对象视为关联数组:
for(var prop in houseA) { document.write(prop); document.write(houseA[prop]); }编辑:
您的对象具有无效语法,如果您在属性名称中使用空格,请用引号将其引起来,否则将是语法错误。
发布于 2014-01-12 04:40:35
使用JavaScript的最佳实践是确保不包含任何可能继承的原型对象的属性,因此:
for (var property in houseA) {
if (houseA.hasOwnPropery(property)) {
document.write(property + ': ' + houseA[property]);
}
}这将写成:
county: Falls County等
正如@ManofSnow正确指出的那样-如果像这样定义,你就不能拥有一个包含空格的对象的属性。但是,您可以用引号将属性括起来。
发布于 2014-01-12 04:59:12
简单:
var prop;
for (prop in houseA) {
if (houseA.hasOwnProperty(prop)) {
console.log(prop + ':' + houseA[prop]);
}
}仅当迭代对象的属性时,才建议将用于循环迭代。我在循环之前声明了prop var,以避免提升。方法hasOwnProperty是为了避免从原型中打印变量,最后我使用console.log()在控制台上打印内容,您可以将其更改为document.write()。
干杯。
https://stackoverflow.com/questions/21067534
复制相似问题