Показать сообщение отдельно
  #9 (permalink)  
Старый 19.03.2009, 17:34
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

попробуйте поигратся с this-ом
если я правильно понял вашу задачу, то вот два варианта решения:
A=
	{
	'func':function(that)
		{
		console.log(['func',that==window.B1])//TRUE.that указывает на B1, вызвавший функцию
		},
	'func2':function()
		{
		console.log(['func2',this==window.B1])//TRUE.this указывает на B1, вызвавший функцию
		}
	}

B_proto=
	{
	'function':function()
		{
		console.log([this,this==window.B1,this==window.B2])//this указывает на B1, вызвавший функцию
		A.func(this)
		A.func2.apply(this,[])
		}
	}
function B()
	{
	//functio
	}
B.prototype=B_proto;

B1=new B();
B2=new B();
B1.function()
Ответить с цитированием