JavaScript parseInt() не работает так же, как Java parseInt().Определить, имеет ли строка какие-либо нецелые символы, в JavaScript
Очень простой пример:
document.write(parseInt(" 60 ") + "<br>"); //returns 60
document.write(parseInt("40 years") + "<br>"); //returns 40
document.write(parseInt("He was 40") + "<br>"); //returns NaN
Линия 1 нормально. но я ожидаю, что строка 2 даст ошибку, так как вы не можете преобразовать «годы» в целое число. Я считаю, что JavaScript parseInt() просто проверяет, являются ли первые несколько символов в String целыми.
Так как я могу проверить, что до тех пор, пока в строке не будут целые числа, он вернет NaN?
Почему Javascript 'parseInt' ведут себя так же, как Java' parseInt' только потому, что они назвали то же самое? Они функционируют на двух совершенно разных языках! – Celada
@Celada: Ожидание JavaScript, похожего на Java, понятно из-за сходства их имен. Конечно, это сходство вводит в заблуждение; JavaScript не является производным от Java. Название, по-видимому, было выбрано по маркетинговым соображениям. Это объясняет статья [Wikipedia JavaScript] (http://en.wikipedia.org/wiki/JavaScript#Birth_at_Netscape). –