Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.12.2018, 18:20
hoz hoz вне форума
Интересующийся
Отправить личное сообщение для hoz Посмотреть профиль Найти все сообщения от hoz
 
Регистрация: 26.11.2018
Сообщений: 19

Является ли переменная числом? О проверке..
Очередной раз попалась проверка, которая возвращает факт, является ли переменная числом.
Вот её код:
function isNumeric(n) {
  return !isNaN(parseFloat(n)) && isFinite(n)
}

Возник вопрос. Почему используется именно функция parseFloat(n)? Есть же parseInt(). Я не в курсах, какие у них реализации, но думаю, что последний вариант будет работать быстрее т.к. не проверяется десятичная часть числа..
И вообще, на самом деле до сих пор не придумали никаких других средств для этой проверки?
Ответить с цитированием
  #2 (permalink)  
Старый 11.12.2018, 01:35
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

hoz,
если у числа будет дробная часть, parseFloat будет в разы быстрее (-1 операция) если число целое оба метода по скорости примерно равны.
В данной задаче проверяется объект со свойствами применимыми к узлу ДОМ которые как бы помимо числа могут содержать %. px итд поэтому такой подход. А по скорости все эти методы сильно уступают неявному преобразованию
console.log(+'5')
но если в стоке будет что то кроме чисел и десятичной точки, вернется NaN.
Ответить с цитированием
  #3 (permalink)  
Старый 11.12.2018, 01:37
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

есть отличный сервис в котором можно погонять код на скорость если интересно
https://jsperf.com/
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
является ли сумма цифр данного четырехзначного числа четным числом vanya_xa Общие вопросы Javascript 7 12.02.2018 17:33
Простейший калькулятор на JS. Нужна помощь. Siverena Общие вопросы Javascript 2 06.04.2017 13:42
Переменная считается не правильно MorfixProton Элементы интерфейса 3 01.02.2017 19:15
Имя массива, как строковая переменная, при обращении bugiman Элементы интерфейса 4 18.11.2013 15:44
Переменная через var тоже является свойством объекта window? lancer Общие вопросы Javascript 6 28.07.2013 14:21