 
			
				29.08.2011, 15:31
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 ⊞ Развернуть 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 11.01.2010 
					
					
					
						Сообщений: 1,810
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	
		obj.attr = function(src){ 
DOM.prototype.attr(elem,src); 
return obj; 
};
	 | 
 
	
 
 Ололо. Потребление памяти всё равно линейно зависит от количества вызовов функции DOM.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.08.2011, 16:25
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 15.03.2011 
					
					
					
						Сообщений: 353
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		У тебя сильный ляп! 
Мой будет лучше!
 
(function(){
var global = (function(){return this;})();
//Image Loader
global.loadImage = function(src,onload){
  var img = new Image();
  img.src = src;
  img.onload = onload;
  return img;
};
//DOM Object
global.DOM = function(element){
  var init = new xDOM(element);
  return init;
};
//Function xDOM
var xDOM = function(element){
  var elem = element;
  //Set Attributes
  this.attr = function(src){
    if(src==null){src={}}
    for(var i in src){
      elem.setAttribute(i,src[i]);
    }
    return this;
  }
  //Set CSS
  this.css = function(src){
    if(src==null){src={}}
    for(var i in src){
      if(typeof elem.style.setProperty != "undefined"){
        elem.style.setProperty(i,src[i],null);
      } else {
        elem.style.setAttribute(i,src[i]);
      }
    }
    return this;
  }
  //Event Attach
  this.event = function(src){
    if(src==null){src={}}
    for(var i in src){
      if(elem.addEventListener) {
        elem.addEventListener(i, src[i], false);	
      } else
      if(elem.attachEvent) {
        elem.attachEvent('on' + i, function(e){func.call(src[i], e);});
      }
    }
    return this;
  }
};
})();
 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.08.2011, 16:28
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 15.03.2011 
					
					
					
						Сообщений: 353
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Суть такова: 
- Один обьект xDOM (локальный, коренной) 
- Несколько обьектов DOM (глобальный, вызывает xDOM) 
 
Такая схема снизит потребление памяти! 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.08.2011, 16:30
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 15.03.2011 
					
					
					
						Сообщений: 353
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Вот именно вызывает xDOM а не создает. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.08.2011, 16:31
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 15.03.2011 
					
					
					
						Сообщений: 353
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Можете меня банить - у меня карма -810 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.08.2011, 16:33
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 15.03.2011 
					
					
					
						Сообщений: 353
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
DOM(document).event({"DOMContentLoaded":function(){
DOM(document.getElementById("canvas"))
//Element Attributes
.attr({
"width":"100",
"height":"100"
})
//Element Styles
.css({
"background-color":"rgb(255,0,0)"
});
}});
Работает, проверил лично!  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.08.2011, 16:37
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 ⊞ Развернуть 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 11.01.2010 
					
					
					
						Сообщений: 1,810
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	
		У тебя сильный ляп! 
Мой будет лучше!
	 | 
 
	
 
 Да, Ваш ляп лучше — потребление памяти по-прежнему линейно зависит от числа экземпляров DOM. 
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	| 
		Можете меня банить - у меня карма -810
	 | 
 
	
 
 Судя по нику, Вам должно быть 15-16 лет. А ведёте себя как неадекватный первоклассник.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.08.2011, 16:42
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 15.03.2011 
					
					
					
						Сообщений: 353
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Я веду себя нормально! 
DOM(document).event({"DOMContentLoaded":function(){
DOM(document.getElementById("canvas"))
//Element Attributes
.attr({
"width":"100",
"height":"100"
})
//Element Styles
.css({
"background-color":"rgb(255,0,0)"
});
//Element Events
var element = DOM(document.getElementById("canvas")).event({
"mousedown":function(){
element.css({"background-color":"rgb(255,128,0)"});
},
"mouseup":function(){
element.css({"background-color":"rgb(255,0,0)"});
}
});
}});
Личный пример! Работает просто!  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Solovei95, 29.08.2011 в 16:44.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.08.2011, 16:45
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 15.03.2011 
					
					
					
						Сообщений: 353
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 И кстати, с чего вы взяли, что потребление памяти растет? 
Разве из-за постоянного return this ??? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.08.2011, 17:28
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 ⊞ Развернуть 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 11.01.2010 
					
					
					
						Сообщений: 1,810
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	| 
		Я веду себя нормально!
	 | 
 
	
 
 
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	| 
		Личный пример! Работает просто!
	 | 
 
	
 
 
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	| 
		Такая схема снизит потребление памяти!
	 | 
 
	
 
 
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	| 
		Работает, проверил лично!
	 | 
 
	
 
 
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	| 
		У тебя сильный ляп!
	 | 
 
	
 
 
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	| 
		Мой будет лучше!
	 | 
 
	
 
 
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	| 
		Я вам скажу точно - расхода памяти не будет!
	 | 
 
	
 
 
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	| 
		Как видите - работает цепочка!
	 | 
 
	
 
 
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	| 
		Сам проверял!
	 | 
 
	
 
 
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	| 
		Видите как все просто!
	 | 
 
	
 
 Куда столько экспрессии? Зачем столько восклицательных предложений? Зачем создавать по тысяче постов вместо редактирования одного единственного?
 melky предложил свой вариант, а Вы сказали, что у него какой-то недостаток, не указав какой. Сами тем временем продолжаете наступать на те же грабли. 
И в довершение совершенно непонятная просьба забанить.
 
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	
		И кстати, с чего вы взяли, что потребление памяти растет? 
 Разве из-за постоянного return this ???
	 | 
 
	
 
 При чём здесь это? Вы на каждый вызов DOM создаете новый объект и записываете ему кучу собственных свойств-функций (читай — методов) вместо того, чтобы использовать общие для всех объектов данного конструктора.  
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |