Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   массив объектов (https://javascript.ru/forum/dom-window/23823-massiv-obektov.html)

simple 07.12.2011 18:15

массив объектов
 
Добрый вечер, почему у меня не получается такой код?
<script>

var a=[];
var b={};

b.name='vova';
b.socket=1;
b.state=1;

a.push(b);

b.name='sasha';
b.socket=2;
b.state=1;

a.push(b);

alert(a[0].name);//sasha...а куда делся vova?
alert(a[1].name);//и тут sasha (

</script>

Вроде бы я раньше так делал, да и на серверном JS у меня именно так и работает, а вот в клиенте не хочет :(
Подскажите в чем проблема, плиз...

Magneto 07.12.2011 18:31

var a = [];

a.push({
  "name": "vova",
  "socket": 1,
  "state": 1});

a.push({
  "name": "sasha",
  "socket": 2,
  "state": 1});

alert(a[0].name);
alert(a[1].name);


Повидимому в массиве хранятся не объекты а ссылки на них. (Я не проверял, а надо бы.)

simple 07.12.2011 18:40

Спасибо, ну да так работает, а что же с моим примером, ведь по задумки мне нужно эти объекты в цикле в массив добавлять.

devote 07.12.2011 18:49

var a=[];
var b={};
 
b.name='vova';
b.socket=1;
b.state=1;
 
a.push(b);

b = {};
b.name='sasha';
b.socket=2;
b.state=1;
 
a.push(b);
 
alert(a[0].name);//sasha...а куда делся vova?
alert(a[1].name);//и тут sasha (

simple 07.12.2011 19:04

Чудеса :) а что же у меня мой же код и не работает? :lol:

devote 07.12.2011 19:09

simple,
ну если ты не заметил, я в твой код добавил
b = {};

simple 07.12.2011 19:18

Теперь понял, спасибо


Часовой пояс GMT +3, время: 20:16.