Скажем, у меня есть строка (например, дробь);
var num = "1/2";
Почему это работает:
var y = num.split(' ');
if (y.length > 1) {
var z = y[1].split('/');
var a = (+y[0] + (z[0] / z[1]));
num = a;
} else {
z = y[0].split('/');
if (z.length > 1) {
a = (z[0] / z[1]);
num = a;
}
}
alert(num); //The alert box shows my variable now as a decimal.
И это не:
function parseFractions(x) {
var y = x.split(' ');
if (y.length > 1) {
var z = y[1].split('/');
var a = (+y[0] + (z[0] / z[1]));
x = a;
} else {
z = y[0].split('/');
if (z.length > 1) {
a = (z[0] / z[1]);
x = a;
}
}
}
parseFractions(num); //Here I call my function.
alert(num);
//The alert box does not even show up. The fraction isn't converted into a decimal.
По сути, это одно и то же, единственное отличие состоит в том, что во втором я пытался превратить это в функцию, поэтому мне не нужно повторять эти строки кода каждый раз, когда я пытаюсь преобразовать дроби в десятичные.
Так что я делаю неправильно? Возможно ли то, что я пытаюсь выполнить с помощью функции? Любой свет в этом вопросе приветствуется!
alert
не отображается, у вас есть ошибка времени выполнения. Вероятно, это простая проблема, и вы можете решить ее самостоятельно, если научитесь отлаживать JavaScript а>. Устанавливайте точки останова, проверяйте переменные... несложно выяснить, что происходит в вашем коде. - person Felix Kling   schedule 24.02.2015Uncaught type error: undefined is not a function
позвольте мне найти источник этого - person Travis   schedule 24.02.2015