Лови рабочий вариант.
(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);