Почему в JavaScript это не подразумевается?

В JavaScript, this всегда должен указываться явно при доступе к его свойствам. Например:

function Frobber(x) {
    this.x = x;
    return this;
}

Frobber.prototype.frob = function () {
    // wrong:
    return x * x;
    // right:
    return this.x * this.x;
}

Я знаю, что могу использовать с (this) (который устарел и обычно не одобряется), но почему свойства this автоматически не попадают в область видимости ? Я думаю, что для такого дизайнерского решения должна быть причина.

16
задан configurator 2 February 2011 в 15:01
поделиться