Как использовать такие функции как setTimeout для вызова функций-членов объектов с использованием this ключевое слово внутри вызываемых функций?
Посмотрите на мой источник, пожалуйста.Я имитирую это с помощью переменных JavaScript closure .В моем случае вызываемая функция имеет аргумент context , который на самом деле это для объекта o :
var Utils =
{
Caller: function( context, func )
{
var _context = context;
var _func = func;
this.call = function()
{
_func( _context );
};
return this;
}
};
// example of using:
function Object()
{
this._s = "Hello, World!";
this.startTimer = function()
{
var caller = new Utils.Caller( this, this._hello );
setTimeout( caller.call, 1000 );
};
this._hello = function( context )
{
alert( context._s );
}
}
var o = new Object();
o.startTimer();
Возможно ли сохранить обычноеобъявление функции _hello () и использование ключевого слова this , но не использовать context inside?