fork download
  1. var HAMBURGER = {
  2. SIZE_BIG: {price: 100, caloric: 40},
  3. SIZE_SMALL: {price: 50, caloric: 20},
  4.  
  5. STUFFING_CHEESE: {price: 10, caloric: 20},
  6. STUFFING_SALAD: {price: 20, caloric: 5},
  7. STUFFING_POTATOES: {price: 15, caloric: 10},
  8.  
  9. TOPPING_SAUCE: {price: 15, caloric: 0},
  10. TOPPING_MAYO: {price: 20, caloric: 5}
  11. };
  12.  
  13.  
  14. function Hamburger(size, stuffing) {
  15. var price = size.price + stuffing.price;
  16. var caloric = size.caloric + stuffing.caloric;
  17.  
  18. this.addTopping = function (topping) {
  19. price += topping.price;
  20. caloric += topping.caloric;
  21. }
  22.  
  23. this.calculateCalories = function () {
  24. return caloric;
  25. }
  26.  
  27. this.calculatePrice = function () {
  28. return price;
  29. }
  30. }
  31.  
  32.  
  33. // маленький гамбургер с начинкой из сыра
  34. var hamburger = new Hamburger(HAMBURGER.SIZE_SMALL, HAMBURGER.STUFFING_CHEESE);
  35. // добавка из майонеза
  36. hamburger.addTopping(HAMBURGER.TOPPING_MAYO);
  37. // спросим сколько там калорий
  38. console.log("Calories: %f", hamburger.calculateCalories());
  39. // сколько стоит
  40. console.log("Price: %f", hamburger.calculatePrice());
  41. // я тут передумал и решил добавить еще приправу
  42. hamburger.addTopping(HAMBURGER.TOPPING_SAUCE);
  43. // А сколько теперь стоит?
  44. console.log("Price with sauce: %f", hamburger.calculatePrice());
Runtime error #stdin #stdout #stderr 0.51s 321920KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
js: uncaught JavaScript runtime exception: ReferenceError: "console" is not defined.