Skip to content

Instantly share code, notes, and snippets.

@rtivital
Last active October 24, 2015 16:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rtivital/c8188413abf393ac1522 to your computer and use it in GitHub Desktop.
Save rtivital/c8188413abf393ac1522 to your computer and use it in GitHub Desktop.
Проверка типов
// Проверка числа
var isNumber = function(num) {
// Функция parseInt вовращает число или NaN
// NaN будет возвращено, когда невозможно привести num к числу,
// например, parseInt('j23'), parseInt({}), parseInt(['a', 2, 3])
// число вернется, когда parseInt сможет преобразовать num к числу,
// например, parseInt('12string'), parseInt(12), parseInt([12, 13, 14])
// всё это вернет число 12
if (isNaN(parseInt(num))) {
return false;
}
return typeof num === 'number';
};
// Проверка существования непустой строки
var isString = function(str) {
if (typeof str === 'string') {
if (str.length > 0) {
return true;
}
}
return false;
};
// Проверка существования непустой строки без whitespace символов:
// пробел, tab (/t), перенос строки (/n)
var isEmptyString = function(str) {
if (typeof str === 'string') {
if (str.trim().length > 0) {
return false;
}
}
return true;
};
// Проверка объекта
var isObject = function(obj) {
// возвращать typeof 'object' неправильно,
// так как typeof null тоже 'object'
return typeof obj === 'object' && obj !== null;
};
// Проверка массива
var isArray = function(arr) {
// метод для определения массива был добавлен в ES5
return Array.isArray(arr);
};
// Проверка непустого массива
var isEmptyArray = function(arr) {
// проверить с помощью arr.length не получится,
// так как длину массива можно установить arr.length = 4
// или установить отдельный элемент arr[4] = 'item'
// в этом случае длина массива будет равной 5
// а сам массив будет содержать [undefined × 4, "item"]
// нужно использовать метод join для преобразования массива в строку
// и работать уже со строкой, например, с помощью функций isString
return !isString(arr.join(''));
// или isEmptyString в зависиости от целей
return isEmptyString(arr.join(''));
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment