Регистрация: Mar 2004
Адрес: Moscow
Сообщений: 115
|
Как вернуть undefined в результате выполнения функции?
Есть функция, которая вычисляет выражение, заданное с помощью строки
(т.е. calculate("(12 + 6) / 3") должно вернуть 6)
Но помимо вычисления собственно численных выражений еще можно задавать свои переменные в другом месте и передавать в эту функцию в составе строки
(т.е. где-то задаем x = 10 и получаем calculate("x + 5") = 15)
Соот-но, если в функции встречается переменная, проверяется, задана ли она, и, если не задана, функция должна вернуть undefined. А я в другом месте говорю - просчитай это выражение и, если вернулось undefined, выведи сообщение: "Вы не задали значение переменной &variable."
Все вроде хорошо, функция все подсчитывает, инициализацию переменных проверяет, но когда ф-ция возвращает undefined, на выходе я каждый раз получаю 0. Как мне узнавать, что выражение не может быть посчитано?
У меня есть вариант только в ф-ции выдавать ошибку, а я ее буду ловить и выдавать сообщ-ние, но мне этот вариант не очень нравится. Кроме того, это ж логично, если значения выражения неопределенно, я в итоге и получаю undefined.
|