Вопрос по наследованию
function main() {
if(this.main) return new main();
this.prop = 1;
}
main.prototype = {
method: function() { alert(this.prop) },
property: this.prop
}
main().method(); // нормально
alert(main().property); // undefined
Собственно вопрос, почему this.prop виден через метод, но не виден через свойство? и можно каким-то образом всё-же присвоить его свойству? P.S статью про наследование читал, но многое не дошло.. |
В момент создания объекта prototype = {…}, this указывает на window (global object, если точнее).
Вообще не совсем понял, как вы хотели, чтобы еще не существующее значение заранее записалось в prototype? |
new потерялся.
|
Цитата:
|
Перед main() .
|
Riim, там автоматически в конструкторе вызывается if(this.main) return new main();
|
В 7-ой строке this ссылается на конструктор, а не на экземпляр. Свойства prop у конструктора нет.
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 20:11. |