camka
не самка
Установка метода в setTimeout()
Начал разбирать ОО в яваскрипт и наткнулся на такую проблему. Хочу устанавливать свои таймауты для каждого из создаваемых объектов. Казалось бы, что может быть легче, передаешь в window.setTimeout соответствующий метод объекта и ждешь, когда он вызовется. Но не тут то было. Если в вызываемом методе имеется вызов некоего другого метода того же объекта, то он не находится, и выдается сообщение:
	
	
	
		
Пробовал передавать функцию как строку - setTimeout("this.function()", delay) он ее даже вызвать не сумел.
	
	
	
		
Видимо, проблема заключается в том, что в области видимости переменных на момент вызова функиции, переданной в setTimeout, объект this не определен.
Как побороть сию проблему?
								Начал разбирать ОО в яваскрипт и наткнулся на такую проблему. Хочу устанавливать свои таймауты для каждого из создаваемых объектов. Казалось бы, что может быть легче, передаешь в window.setTimeout соответствующий метод объекта и ждешь, когда он вызовется. Но не тут то было. Если в вызываемом методе имеется вызов некоего другого метода того же объекта, то он не находится, и выдается сообщение:
		Код:
	
	Error: this.killtimer is not a function
Source File: [url]http://localhost/test/jsclass.html[/url]
Line: 25
	
		PHP:
	
	<html>
<head>
<title>JS class</title>
</head>
<body>
<script>
function myclass()
{
	var timer = null;
	this.setTime = function ()
	{
		timer = window.setTimeout(afterTimeout, 1000);
	}
	this.killtimer = function ()
	{
		alert('this.killtimer');
		window.clearTimeout(timer);
	}
	var afterTimeout = function()
	{
		this.killtimer();
	}
}
var obj = new myclass();
obj.setTime();
</script>
</body>
</html>
	Как побороть сию проблему?
	            
