функция 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, время: 05:34. |