fork(3) download
  1. >>392252
  2.  
  3. Советую использовать строгий режим в JS
  4.  
  5. >var constructor = this.constructor;
  6. Что это за ерунда?
  7.  
  8. > ElementsNetwork();
  9. Во-первых, ты забыл new
  10.  
  11. Во-вторых, ты должен вызывать этот конструктор не сам по себе, а при создании объекта-потомка. Например из конструктора Powerline, при этом еще и передавать нужный this
  12.  
  13. Почитай http://j...content-available-to-author-only...t.ru/tutorial/object/inheritance#konstruktor
  14.  
  15. > ElectricNetwork.prototype.calcPrice
  16. Тут копипаста в коде продажи и покупки. Избавься от дублирования кода.
  17.  
  18. Также, у этой функции есть недостаток: она возвращает сумму денег но не пишет, удалось ли восполнить недостаток энергии или не удалось (и сколько энергии не удалось купить). То есть твоя функция неправильно спроектирована и ее не удастся использовать для принятия решения о закупке энергии.
  19.  
  20. Надо чтобы она возвращала больше данных.
  21.  
  22. > function comparePrices(
  23. Допиши reutrn 0 и поставь фигурные скобки и отформатируй код.
  24.  
  25. > ElementsNetwork.prototype.showPower =
  26. Нехорошо, эта функция обращается к свойству из потомка. Надо любо объявить это свойство в родительском классе либо что-то еще поменять. Предок не должен знать о своих потомках (и во многих случаях не может, например если ты наследуюешься от класса из сторонней библиотеки).
  27.  
  28.  
  29.  
  30.  
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
>>392252

Советую использовать строгий режим в JS

>var constructor = this.constructor;
Что это за ерунда? 

> ElementsNetwork();
Во-первых, ты забыл new 

Во-вторых, ты должен вызывать этот конструктор не сам по себе, а при создании объекта-потомка. Например из конструктора Powerline, при этом еще и передавать нужный this 

Почитай http://j...content-available-to-author-only...t.ru/tutorial/object/inheritance#konstruktor

> ElectricNetwork.prototype.calcPrice 
Тут копипаста в коде продажи и покупки. Избавься от дублирования кода.

Также, у этой функции есть недостаток: она возвращает сумму денег но не пишет, удалось ли восполнить недостаток энергии или не удалось (и сколько энергии не удалось купить). То есть твоя функция неправильно спроектирована и ее не удастся использовать для принятия решения о закупке энергии. 

Надо чтобы она возвращала больше данных.

>  function comparePrices(
Допиши reutrn 0 и поставь фигурные скобки и отформатируй код.

> ElementsNetwork.prototype.showPower = 
Нехорошо, эта функция обращается к свойству из потомка. Надо любо объявить это свойство в родительском классе либо что-то еще поменять. Предок не должен знать о своих потомках (и во многих случаях не может, например если ты наследуюешься от класса из сторонней библиотеки).