Осмелюсь сказать, что у вас есть хотя бы один выбор, значение которого не 'new'
. Поскольку вы выполнили return true;
в предложении else
, при первом выборе со значением, не равным 'new'
, функция вернет true.
Похоже, что у него есть ложный маршрут возврата (если в начале есть выборка 'new'
и выбор кода со значением 13
), но, возможно, этот тестовый пример не подошел в вашем тестировании .
С точки зрения выяснения того, что не так с такими вещами, нет ничего лучше, чем проходить по коду и наблюдать, как он запускается построчно в приличном отладчике. Во всех основных браузерах они встроены сейчас (наконец), так что вы можете точно видеть, что происходит, проверять переменные и т. Д.