функция inherit для нескольких объектов
привет.
Как в такую функцию передавать много объектов за раз? function inherit(p){ if(p==null) throw TypeError() if(Object.create) return Object.create(p) var t=typeof p; if(t !=='object' && t!=='function' ) throw TypeError() function F() {} F.prototype = p; return new F; } Делаю так: function inherit2(p){ for(j=0;j<arguments.length;j++){ p=arguments[j]; if(p==null) throw TypeError() //if(Object.create) return Object.create(p) var t=typeof p; if(t !=='object' && t!=='function' ) throw TypeError() function F() {} F.prototype = p; return new F; } } var o2=inherit2({o:34},{po:12},{la:222}) alert(o2.o+':'+o2.po+':'+o2.la+':')//34 underfined underfined 2 Вопрос var obj2={name:'tolya',tooL:'str'} var obj=inherit(obj2) delete Object.getPrototypeOf(obj).name alert(obj2.name) как такого же добится в ие? |
Цитата:
|
нет именно через запятую,чтобы наследовались сразу от нескольких объектов.
Пробую var arr=[{o:34},{po:12},{la:222}] function inherit2(p){ for(j=0;j<p.length;j++){ p=p[j]; if(p==null) throw TypeError() //if(Object.create) return Object.create(p) var t=typeof p; if(t !=='object' && t!=='function' ) throw TypeError() function F() {} F.prototype = p; return new F; } } var o2=inherit2(arr) alert(o2.o+':'+o2.po+':'+o2.la+':') Та же ерунда |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 07:35. |