2016-04-02 8 views
0

Я не могу понять, почему это не работает, консоль не говорит, что есть ошибка, но когда предполагается, что «подсказка» 2-го раза она не Работа. Вот код:Не удается найти ошибку

const Fanta = 250,Sprite = 250,Cola = 250,Dirol = 450,Snickers = 300,Lays = 800; 
var a = prompt("1:Fanta = 250, 2:Sprite = 250, 3:Coca Cola = 250, 4:Dirol = 450, 5:Snickers = 300, 6:Lays = 800"); 
function math() 
{ 
if(a == 1) 
{ 
alert("You chose Fanta"); 
var money = prompt("Put money in"); 
alert("You put in " + money) 
if(money >= 250) 
{ 
    alert("You just purchased Fanta! Take back" + money - Fanta); 
} 
} 
} 
+2

Какое второе приглашение? Вы никогда не называете математическую функцию. – dman2306

ответ

5

У вас есть часть кода, завернутого в функции math(), которая не вызывается. Одним из решений является просто разворачивать его (удалить функцию):

const Fanta = 250, 
    Sprite = 250, 
    Cola = 250, 
    Dirol = 450, 
    Snickers = 300, 
    Lays = 800; 
var a = prompt("1:Fanta = 250, 2:Sprite = 250, 3:Coca Cola = 250, 4:Dirol = 450, 5:Snickers = 300, 6:Lays = 800"); 


    if (a == 1) { 
    alert("You chose Fanta"); 
    var money = prompt("Put money in"); 
    alert("You put in " + money) 
    if (money >= 250) { 
     alert("You just purchased Fanta! Take back" + money - Fanta); 
    } 
    } 

Другим решением является вызов функции math():

var a = prompt(...); 
math(); 

Вы должны назвать это после того, как вы назначили a. Конечно, тогда ваша функция будет использовать a как глобальную переменную, которая считается плохой практикой, поэтому вы можете захотеть реорганизовать ваш код немного, чтобы передать его math() явно.

+0

Спасибо, теперь я чувствую себя немым –

+1

Случается для всех нас. Кто никогда не тратил мало времени на поиск очевидного, тривиального решения, не является истинным программистом (TM);) – kamituel

+0

Это сработало, спасибо –

Смежные вопросы