Показать сообщение отдельно
  #3 (permalink)  
Старый 16.01.2014, 20:27
Аспирант
Отправить личное сообщение для doox911 Посмотреть профиль Найти все сообщения от doox911
 
Регистрация: 01.04.2013
Сообщений: 56

Сообщение от рони Посмотреть сообщение
doox911,
var mas_tree = [];
var tree = {
 tree_id:''
};
var n = 0;
function data_tree(){
      tree.tree_id = n;
      mas_tree[n++] = tree;
   }
data_tree()
data_tree()
alert(JSON.stringify(mas_tree))

почувствуйте разницу
var mas_tree = [];
	var n = 0;

	function data_tree() {
	    var tree = {
	        tree_id: ''
	    };
	    tree.tree_id = n;
	    mas_tree[n++] = tree;
	}
	data_tree()
	 data_tree()
	 alert(JSON.stringify(mas_tree))
Я понял так, что при каждом вызове функции объект инициализируется заново? Но почему все записи в массиве записывает идентично последней? Как это происходит?
Ответить с цитированием