Ссылаясь на «это» в родительском замыкании в JavaScript

Я хочу сделать это в 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();

Это может быть достигнуто следующим образом:

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();

Есть ли способ лучше?

Ответы на вопрос(3)

Ваш ответ на вопрос