2013-09-22 3 views
-1

Я попытался, используя следующий код, чтобы вычислить средний возраст переменных John, Mary и Ahmed, но это не будет работать:Почему я получаю этот неправильный арифметический расчет в JavaScript?

<!DOCTYPE HTML> 
<html> 
<head> 
    <title>This is a page for testing JavaScript</title> 
    <script> 
     var John = 23; 
     var Mary = 25; 
     var Ahmed = 22; 
     var average = John + Mary + Ahmed/3; 
     console.log(average); 
    </script> 
</head> 
<body> 
    <p> 
    JavaScript testing page, open the console and reload the page to see whats happening! 
    </p> 
</body> 
</html> 

Я играл и в конце концов нашел правильный способ сделать это путем добавления дополнительная линия с переменной суммой:

var sum = John + Mary + Ahmed; var average = sum/3 

Было просто интересно, почему моя первая попытка не сработала?

+1

BODMAS? Вы не получили какой-либо результат, или вы получили неправильный результат? Я думаю, что это проблема приоритета операторов. – Harry

ответ

3

Это из-за operation precedence. Фактически это значение.

(John + Mary) + (Ahmed/3); 

Необходимо точно определить порядок, как это делается.

(John + Mary + Ahmed)/3; 
+1

Большое спасибо, и я сожалею, что это так смешно поздно! – bts203

+0

2 года? Это ничего: P –

1

Попробуйте

уаг среднее = (Джон + Мэри + Ahmed)/3;

Что делает ваш код, это разделение возраста Ахмеда на 3, а затем добавление к нему возраста Джона и Мэри.

кладя скобку вычислить сумму первой, а затем разделить эту сумму на 3

+0

Спасибо, помощник! Очень ценю, я сожалею, что это такой поздний ответ – bts203

1

Потому что вы делаете в этом коде делит ahmeds возраст на 3, чтобы получить 7,3, а затем добавить, что на Джон и возрасты Мэри.

Что вам нужно сделать, это var average = (John + Mary + Ahmed)/3;

+0

Спасибо, много, жаль, что это так поздно спасибо! – bts203

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