Было бы очень удобно, если бы я мог сделать это:
var MyObject = function(param1, param2, ... paramN)
{
this.var1 = stuff;
this.var2 = moreStuff;
.
.
.
this.varN = nStuff;
this.validate = function()
{
for(var current in this)
{
alert(current);
//validate all member variables (even this function I suppose)
}
};
};
Это, однако, не кажется делать то, что я хотел бы. Я понимаю, что цикл в конечном итоге должен был бы пройти по своей родительской функции (что также, что неудивительно, не происходит).
Это невозможно, потому что «this» во второй функции относится ко второй, а не к первой функции? Или ключевое слово 'this' является только оператором объявления для открытого члена, а не ссылкой на внешний объект?
Я считаю, что получить то, что я хочу, невозможно, но есть ли другой способ добиться такого поведения?