Показать сообщение отдельно
  #9 (permalink)  
Старый 11.11.2011, 01:44
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Лови рабочий вариант.

(function( window, undefined ) {

      // метод extend, почти аналогичен методу в jquery (не поддерживает глубокое копирование)
      function extend(target,options){
             for ( name in options ) {
                        src = target[ name ];
                        copy = options[ name ];
	
                        // если св-во уже есть, мы его не копируем
                        if ( src === copy ) {
                                    continue;
                        }
                        if ( copy !== undefined ) {
                                  target[ name ] = copy;
                        }
          }
           return target;
       }



     LaMF = function(q) {

        // размещаем конструктор прямо внутри функции
        return new (function(q1){  
                
                // копируем свойства из LaMF в this
                extend (this,LaMF);
                
                this.test1=q1;
        })(q)	
     }

     LaMF.test1="Я оригинальное свойство";
     LaMF.test2="Если ты меня видешь, значит я скопирывалось";

	window.$=LaMF;
     })( window );

// создаём новый обьект, и смотрим свойство
alert( $("Я установленное свойство" ).test1);

// смотрим свойство в оригенале
alert( $.test1 );

// проверяем доступны ли нам скопированные свойства
alert( $("бла бла").test2 );


Ещё одно, быстродействующие решение на прототипах. (фурычит под хром, оперу и firefox, под ie код надо модифицировать)

(function( window, undefined ) {

     LaMF = function(q) {

        // размещаем конструктор прямо внутри функции
        return new (function(q1){                  
                this.__proto__ = LaMF;
                this.test1=q1;	
        })(q)	
     }

     LaMF.test1="Я оригинальное свойство !";
     LaMF.test2="Если ты меня видешь, значит я скопировалось !";

	window.$=LaMF;
     })( window );

// создаём новый обьект, и смотрим свойство
alert($("Я установленное свойство !").test1);

// смотрим свойство в оригенале
alert($.test1);

// проверяем доступны ли нам скопированные свойства
alert($("1").test2);
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 11.11.2011 в 02:56.
Ответить с цитированием