2013-05-17 84 views
2

我创建了一个对象person并为该对象在JavaScript中创建了2个属性。我通过数据给对象:显示对象值

personA = new person("Michel","Newyork"); 
personB = new person("Roy","Miami"); 

我需要的是,如何通过JavaScript显示在同一时间都personA & personB值?

+3

要显示在哪里值? “同时”是什么意思? –

+0

'person'构造函数需要什么?它也分配了哪些属性? – SomeShinyObject

+0

向我们展示“人”的代码! – Bergi

回答

1

我要去承担person需要nameloc(用于定位),因为你没有澄清:

var personArr = []; //create a person array 
//Then push our people 
personArr.push(personA); 
personArr.push(personB); 
for (var i = 0; i < personArr.length; i++) { 
    console.log(personArr[i].name); 
    console.log(personArr[i].loc); 
} 

如果你在同一时间谈论夸张地说,我不会说这是不可能的,只是不可能用JavaScript,除非你使用WebWorkers,而那些在IE中不太公平。

+0

感谢您的代码。 – Dexter

+0

不是问题!如果它有帮助,你会介意选择答案吗? – SomeShinyObject

1

如果你只是想在控制台上显示出来,进行调试,使用

console.log (personA, personB); 

如果你想提醒他们到屏幕上:

alert (JSON.stringify (personA), JSON.stringify (personB)); 

如果你想改变一个DOM元素包含值:

domElement.innerHTML = personA.name + ' from ' + personA.loc + ' and ' + 
         personB.name + ' from ' + personB.loc; 

假设这里比nameloc是您使用的属性名称。

当然,您可以根据您的要求在任何情况下使用这些方法中的任何一种。

+0

感谢您的帮助。 – Dexter

1

你也可以考虑这种方法:

var persons = { 
    person: [], 

    add: function(name, city) 
    { 
     this.person.push({ 
      'name': name, 
      'city': city 
     }); 
    } 

}; 

persons.add("Michael", "New York"); 
persons.add("Roy", "Miami"); 

输出:

for(x in persons.person) 
{ 
    console.log(x + ":"); 

    for(y in persons.person[x]) 
    { 
     console.log(y + ": " + persons.person[x][y]); 
    } 
} 

------ 

0: 
name: Michael 
city: New York 
1: 
name: Roy 
city: Miami 
+0

感谢您的帮助。 – Dexter