Jump to content
php.lv forumi

Javascript objekti


Joyride

Recommended Posts

Ir pašrakstīta XHR wrappera klase (izņēmu ārā visu lieko kodu, lai nejauktu galvu):

 

function Ajax()
{
var _this = this;

// Šeit klasei varam piekļūt ar "this"

function checkTimeout()
{
	// ...
}

this.execute = function()
{
	// Šeit klasei varam piekļūt ar "_this"

	interval_id = setInterval("???.checkTimeout();", 1000); // Problēma !!!
}
}

 

Kā lai šeit norāda, kas ir owneris f-jai checkTimeout? "this" tiek uztverts kā parent f-ja "execute", "_this" ir "undefined"...

Link to comment
Share on other sites

function Ajax()
{
this.checkTimeout = function()
{
	console.log("ir");
}

this.execute = function()
{
	interval_id = setInterval(function(me){return function(){me.checkTimeout();}}(this), 1000); // un nav problēma !!!
}
}

new Ajax().execute();

Link to comment
Share on other sites

v3rb0, paldies, strādā, bet vai varētu paskaidrot, kas tajā rindā notiek vai uzrakstīt kaut kā izvērstāk, savādāk es īsti nesaprotu...

 

function(me) 
{
return function()
{
	me.checkTimeout();
}
}(this) // wtf?

Link to comment
Share on other sites

×
×
  • Create New...