Я пытаюсь вызвать унаследованный метод, который должен получить доступ к закрытым атрибутам текущего объекта.Но это только общедоступные, что не так?
Мой тестовый код должен предупреждать обе переменные:
function ParentClass(){
//Priviliged method to show just attributes
this.priviligedMethod = function(){
for( var attr in this ){
if( typeof(this[ attr ]) !== 'function' ){
alert("Attribute: " + this[ attr ]);
}
}
};
}
function ChildClass(){
// Call the parent constructor
ParentClass.call(this);
var privateVar = "PRIVATE VAR";
this.publicVAR = "PUBLIC VAR";
}
// inherit from parent class
ChildClass.prototype = new ParentClass();
// correct the constructor pointer because it points to parent class
ChildClass.prototype.constructor = ChildClass;
var objChild = new ChildClass();
objChild.priviligedMethod();
Версия jsfiddle: http://jsfiddle.net/gws5s/6/
Спасибо взаранее, Артур