如何一次打印对象中的所有属性/值。 JS

时间:2015-11-03 15:54:53

标签: javascript oop object

所以让我说我有这个:

function Car(make, model, year) {
  this.make = make;
  this.model = model;
  this.year = year;
}

var car1 = new Car("VW", "Bug", 2012);
var car2 = new Car("Toyota", "Prius", 2004);

document.write(car1.make, car1.model, car1.year);
document.write(car2.make, car2.mocel, car2.year);

是否有更清晰的方法来写出对象的所有属性/值?谢谢!

4 个答案:

答案 0 :(得分:4)

您可以使用JSON.stringify序列化对象并轻松记录其属性:

console.log(JSON.stringify(car1))

答案 1 :(得分:0)

在JavaScript中枚举对象的所有属性:

for (aProperty in yourObject) {
    // do what needed
    // in case you want just to print it:
    console.log(aProperty + "has value: " + yourObject[aProperty]);
}

但是,如果你只想将对象打印到控制台,也许this question可以帮助你。

答案 2 :(得分:0)

MDN documentation will help

您可以使用

for(aVariable in yourObject){
   console.log(aVariable);
}

这样,您可以看到对象的每个属性

答案 3 :(得分:0)

从技术上讲,您可以使用简单的for循环来遍历所有属性,但这意味着您也可以获得在其祖先中设置的所有属性,因此您可以使用{{ 1}}验证此属性是否为自身设置而不是继承,并打印出相关属性(或对它们执行某些操作)。



Object.hasOwnProperty

function Car(make, model, year) {
  this.make = make;
  this.model = model;
  this.year = year;
}

var bmw = new Car('VW','Cruiser',1989);
var output = document.getElementById('output');

for(property in bmw) 
  if(bmw.hasOwnProperty(property))  
    output.innerHTML += property + ': ' + bmw[property] + '<br />'
&#13;
&#13;
&#13;