Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.04.2018, 12:24
Аспирант
Отправить личное сообщение для Javany11 Посмотреть профиль Найти все сообщения от Javany11
 
Регистрация: 04.03.2018
Сообщений: 34

программа для расчета стоимости бургера.
Добрый день! Люди, подскажите пожалуйста, есть код который считает стоимость гамбургера в зависимости от того, какие флажки и радиокнопки мы переключаем. И вот с радиокнопками разобрался, в флажках запутался.
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
<style type="text/css">
	img{
		width: 150px;
		height: 150px;
	}

	form{
		text-align: center;
		width: 50%;
		margin: 0 auto;
	}



	
</style>
<form name="burger">
<fieldset>
	<legend>Select size</legend>
	<label>
		<img src="small.jpg" alt="">
		<input type ="radio" name = "sizeBurger" value="small"/>
	</label>

	<label>
		<img src="large.jpg" alt="">
		<input type ="radio" name = "sizeBurger" value="large"/>
	</label>

</fieldset>

<fieldset>
	<legend>Select stuffing</legend>
	<label>
		<img src="cheese.jpg" alt="">
		<input type ="checkbox" name = "cheese" value="cheese"/>
	</label>

	<label>
		<img src="salad.jpg" alt="">
		<input type ="checkbox" name = "salad" value="salad"/>
	</label>
	<label>
		<img src="potato.jpg" alt="">
		<input type ="checkbox" name = "potato" value="potato"/>
	</label>
</fieldset>

<fieldset>
	<legend>Select topping</legend>
	<label>
		<img src="mayonez.jpg" alt="">
		<input type ="checkbox" name = "mayonez" value="mayonez"/>
	</label>

	<label>
		<img src="spice.jpg" alt="">
		<input type ="checkbox" name = "spice" value="spice"/>
	</label>
	
</fieldset>
<input type="button" value="ORDER" name="order">

</form>
<h3 id="result"></h3>
	<script >
	'use string'
var result = document.getElementById('result');
var but = document.forms.burger.elements.order;
var sizeBurger = document.forms.burger.elements.sizeBurger;
var cheese = document.forms.burger.elements.cheese;
var salad = document.forms.burger.elements.salad;
var potato = document.forms.burger.elements.potato;
var mayonez = document.forms.burger.elements.mayonez;
var spice = document.forms.burger.elements.spice;
var stufPrise;



console.log(cheese.value)
// var a = ['salad','cheese','potato']
 class Hamburger{
 	constructor(size, stuffing, topping){
 		this.size = size;
 		this.stuffing = stuffing;
 		this.topping = topping;

 	 }
 	//   static createHamburger(){
 	//   return new Hamburger('small',['salad','cheese','potato'],['mayonez','spice']);
 	//   }

	

 	static get SMALLPRISE(){return 50}//цена маленького гамбургера
 	static get LARGEPRISE(){return 100}//цена большого гамбургера
 	static get SALADPRISE(){return 20}//цена салата
 	static get CHEESEPRISE(){return 10}//цена сыра
 	static get POTATOPRISE(){return 15}//цена картошки
 	static get MAYONEZPRISE(){return 20}//цена майонеза
 	static get SPICEPRISE(){return 15}//цена специй


 	addStuffin(){
 		var stufPrise = 0;
 		if(this.stuffing =='salad'){stufPrise+=Hamburger.SALADPRISE;}
 		if(this.stuffing =='cheese'){stufPrise+=Hamburger.CHEESEPRISE;}
 		if(this.stuffing =='potato'){stufPrise+=Hamburger.POTATOPRISE;}
 		return stufPrise;
 	}


 	addTopping(){
 		var topPrise = 0;
 		if(this.topping =='mayonez'){topPrise+=Hamburger.MAYONEZPRISE;}
 		if(this.topping =='spice'){topPrise+=Hamburger.SPICEPRISE;}
 		
 		return topPrise;
 	}
 	
 	calculatePrice(){
 		if(this.size =='small') return Hamburger.SMALLPRISE+this.addStuffin();
 		if(this.size =='large') return Hamburger.LARGEPRISE+this.addStuffin();
 		if(this.stuffing =='salad') return Hamburger.SALADPRISE+this.addStuffin();
 		if(this.stuffing =='cheese') return Hamburger.CHEESEPRISE+this.addStuffin();
 		if(this.stuffing =='potato') return Hamburger.POTATOPRISE+this.addStuffin();
 		if(this.topping =='mayonez') return Hamburger.MAYONEZPRISE+this.addTopping();
 		if(this.topping =='spice') return Hamburger.SPICEPRISE+this.addTopping();
 		// addToppin();
 		else return null;
 	}

 }
  // let sample = Hamburger.createHamburger();
  //  console.log(sample.calculatePrice())

 but.addEventListener('click',function(){
 	var burgerNew = new Hamburger(sizeBurger.value);
 	result.innerHTML = "Burger cost "+burgerNew.calculatePrice()+"$";
 	  console.log(burgerNew.calculatePrice())

 })

 


	</script>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 15.04.2018, 14:43
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Это тестовое задание которое нужно решить в ООП стиле или боевой код?

'use string' оригинальное решение
Ответить с цитированием
  #3 (permalink)  
Старый 15.04.2018, 16:26
Аспирант
Отправить личное сообщение для Javany11 Посмотреть профиль Найти все сообщения от Javany11
 
Регистрация: 04.03.2018
Сообщений: 34

Сообщение от j0hnik Посмотреть сообщение
Это тестовое задание которое нужно решить в ООП стиле или боевой код?

'use string' оригинальное решение
Учусь я. Это работа которую нужно дома доделать, а я вот не до конца понял логику. Поэтому и обратился за помощью.

классы работают только с 'use string'
Ответить с цитированием
  #4 (permalink)  
Старый 15.04.2018, 17:24
Профессор
Отправить личное сообщение для Teamur Посмотреть профиль Найти все сообщения от Teamur
 
Регистрация: 08.06.2015
Сообщений: 206

Javany11,
не 'use string'
а 'use strict'
Ответить с цитированием
  #5 (permalink)  
Старый 15.04.2018, 17:49
Аспирант
Отправить личное сообщение для Javany11 Посмотреть профиль Найти все сообщения от Javany11
 
Регистрация: 04.03.2018
Сообщений: 34

Сообщение от Teamur Посмотреть сообщение
Javany11,
не 'use string'
а 'use strict'
Да, действительно, видать начал писать, а саблайм дозаполнил, а я и внимание не обратил. Спасибо.
Ответить с цитированием
  #6 (permalink)  
Старый 15.04.2018, 23:34
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от Javany11
классы работают только с 'use string'
кто ж вам такое сказал

class Person {
  constructor(name) {
    this.name = name;
  }

  sayName() {
    alert(`Person ${this.name} said his name`);
  }
}

const john = new Person('John');
john.sayName();
Ответить с цитированием
  #7 (permalink)  
Старый 16.04.2018, 08:18
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

j0hnik,
Когда мы обьявляем JS модули или классы, не обязательно писать "use strict". Он определяется неявно для содержимого http://exploringjs.com/es6/ch_one-ja...it-strict-mode. Вот здесь будет ошибка, потому что let зарезирвирован в ES6.

class Person {
  constructor(name) {
    var let = 123;
    this.name = name;
  }

  sayName() {
    alert(`Person ${this.name} said his name`);
  }
}

const john = new Person('John');
john.sayName();

А вот так нет
function Person(name) {
   var let = 123;
   this.name = name;
}

Person.prototype.sayName = function() {
alert(`Person ${this.name} said his name`);
}

var john = new Person('John');
john.sayName();
Ответить с цитированием
  #8 (permalink)  
Старый 16.04.2018, 08:36
Аспирант
Отправить личное сообщение для Javany11 Посмотреть профиль Найти все сообщения от Javany11
 
Регистрация: 04.03.2018
Сообщений: 34

Сообщение от j0hnik Посмотреть сообщение
кто ж вам такое сказал

class Person {
  constructor(name) {
    this.name = name;
  }

  sayName() {
    alert(`Person ${this.name} said his name`);
  }
}

const john = new Person('John');
john.sayName();
Может это прозвучит странно, но нам это сказал преподаватель...
Пы.Сы. Судя по всему читая форум, я большему научусь...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Новая система управления сайтом Scripto CMS deepslam Ваши сайты и скрипты 38 31.01.2011 14:55
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31
нужна программа для этого. Чем писать? javascript или php? spam-server Серверные языки и технологии 3 27.08.2009 00:52