Это работает независимо от того, является ли переменное содержание строкой или числом.
isNaN(num) // returns true if the variable does NOT contain a valid number
isNaN(123) // false
isNaN('123') // false
isNaN('1e10000') // false (This translates to Infinity, which is a number)
isNaN('foo') // true
isNaN('10px') // true
, Конечно, можно инвертировать это, если Вы должны. Например, для реализации IsNumeric
пример Вы дали:
function isNumeric(num){
return !isNaN(num)
}
Только работы, если строка [только 1 119] содержат цифровые символы, еще она возвращается NaN
.
+num // returns the numeric value of the string, or NaN
// if the string isn't purely numeric characters
+'12' // 12
+'12.' // 12
+'12..' // Nan
+'.12' // 0.12
+'..12' // Nan
+'foo' // NaN
+'12px' // NaN
, Полезный для преобразования '12 пкс' к 12, например:
parseInt(num) // extracts a numeric value from the
// start of the string, or NaN.
parseInt('12') // 12
parseInt('aaa') // NaN
parseInt('12px') // 12
parseInt('foo2') // NaN These last two may be different
parseInt('12a5') // 12 from what you expected to see.
Принимают во внимание, что, в отличие от этого +num
, parseInt
(поскольку имя предлагает) преобразует плавание в целое число путем обрубания всего после десятичной точки (если Вы захотите использовать parseInt()
из-за [1 120] это поведение, Вы - вероятно, более обеспеченное использование другого метода вместо этого ):
+'12.345' // 12.345
parseInt(12.345) // 12
parseInt('12.345') // 12
Пустые строки могут быть немного парадоксальными. +num
преобразовывает пустые строки для обнуления, и isNaN()
принимает то же:
+'' // 0
isNaN('') // false
, Но parseInt()
не соглашается:
parseInt('') // NaN
почему вы устанавливаете
requestLengthDiskThreshold="2097151"
в конфигурации? Разве это не заставляет сервер хранить все загрузки в ОЗУ, а не буферизовать их на диск?