Изменение кода на следующее сработало:
var feetMark = parseFloat(prompt('How tall is mark in feet?'));
var lbsMark = parseFloat(prompt('How much does mark weigh in pounds?'));
kgMark = parseFloat(lbsMark / 2.2046);
meterMark = parseFloat(feetMark / 3.2808);
var bmiMark = parseFloat(kgMark / (meterMark * meterMark));
console.log('Mark is ' + ' ' + kgMark + ' '+ 'kilograms');
console.log('Mark is ' + ' ' + meterMark + ' ' + 'meters');
console.log('Marks BMI is ' + ' ' + bmiMark)
То, что происходит в опубликованном вами коде, представляет собой смесь того, что называется hoisting
, и того факта, что при запуске parseFloat
на undefined
переменная, составляющая эти переменные NaN
;какую бы операцию вы на ней ни делали, всегда будет помнить NaN
.
Итак, я бы предложил parseFloat
переменные, когда вы уверены, что в них есть какое-то значение.
Надеюсь, это поможет.