2015-05-18 6 views
0

Мне нужна помощь в объяснении этого кода. Я изменил значения, но по какой-то причине расчетное значение всегда имеет значение 12.HTML Calculate

<html> 
<head> 
<script> 
function display(x) 
{ 
alert("The result is " + x); 
} 
function calculate(){ 
var values = new Array(5, 8, 18, 16); 
var output = values[1]+values[3]; 
if (output >= 23){output = output/2;} 
else {output = output++;} 
display(output); 
} 
</script> 
</head> 
<body> 
<button onclick="calculate()">Click to calculate</button> 
</body> 

Спасибо!

+0

Да. 8 + 16 равно 24, так что делится на 2 равно 12 (начало массива с индексом '0'). –

+0

(8 + 16)/2 _is_ 12. – BSMP

+0

Работа в соответствии с ожиданиями. 'значение [1]' (8) + 'значение [3]' (16) равно 24. Так как он выше 23, он будет делить на два, давая двенадцать. Не могли бы вы пояснить, что не так? – Andre

ответ

1

Вы можете думать, что с помощью values[1] и values[3] даст вам первый и третий элементы, в частности, 5 и 18. Тем не менее, индекс массива начинается с 0. Изменение кода values[0] и values[2], скорее всего, даст желаемый результат ,

+0

Спасибо за это! – SRATNA

+0

Добро пожаловать! :) –