Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.09.2012, 09:40
Профессор
Отправить личное сообщение для bot87 Посмотреть профиль Найти все сообщения от bot87
 
Регистрация: 16.05.2011
Сообщений: 307

функция 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)

как такого же добится в ие?
__________________
Я только учусь.Ногами просьба не бить

Последний раз редактировалось bot87, 24.09.2012 в 10:11.
Ответить с цитированием
  #2 (permalink)  
Старый 24.09.2012, 10:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,137

Сообщение от bot87
Как в такую функцию передавать много объектов за раз?
Массив?
Ответить с цитированием
  #3 (permalink)  
Старый 24.09.2012, 10:52
Профессор
Отправить личное сообщение для bot87 Посмотреть профиль Найти все сообщения от bot87
 
Регистрация: 16.05.2011
Сообщений: 307

нет именно через запятую,чтобы наследовались сразу от нескольких объектов.
Пробую
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+':')

Та же ерунда
__________________
Я только учусь.Ногами просьба не бить

Последний раз редактировалось bot87, 24.09.2012 в 10:55.
Ответить с цитированием
  #4 (permalink)  
Старый 24.09.2012, 14:10
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,137

Сообщение от bot87
нет именно через запятую
Так передавай сколько хочешь... Чего испугался-то?
Цитата:
Функции можно запускать с любым числом параметров.
http://javascript.ru/basic/functions#parametry-funkcii
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
getElementsByTagName для нескольких тэгов MaxB Events/DOM/Window 11 07.12.2011 23:29
Переодическое обновление значений для графика, функция для обновления значений yupa87 Общие вопросы Javascript 0 09.07.2009 14:48
Функция onclick для созданных потомков Groonel Общие вопросы Javascript 6 24.04.2009 18:35
zoom для нескольких фото kodermax jQuery 1 20.02.2009 15:46