Referindo-se a "this" em um fechamento principal em javascript

Eu quero fazer isso em Javascript:

function Z( f )
{
  f();
}

function A()
{
  this.b = function()
  {
    Z( function () { this.c() } );
  }

  this.c = function()
  {
    alert('hello world!');
  }
}

var foo = new A();
foo.b();

Isso pode ser realizado desta maneira:

function Z( f )
{
  f();
}

function A()
{
  var self = this;
  this.b = function()
  {
    Z( function () { self.c() } );
  }

  this.c = function()
  {
    alert('hello world!');
  }
}

var foo = new A();
foo.b();

Existe uma maneira melhor?

questionAnswers(3)

yourAnswerToTheQuestion