Заметки за март 2011 года

Проверка типа данных в JavaScript


function is(type, obj) {
    var cls = Object.prototype.toString.call(obj).slice(8, -1);
    return obj !== undefined && obj !== null && cls === type;
}

Функция возвращает результат сравнения ожидаемого типа данных с реальным значением класса.

Аргумент type может принимать одно из значений String, Number, Boolean, Array, Object, Function, RegExp, Date, Error.

На основе этой базовой функции можно сделать целый набор специальных функций для проверки конкретного типа данных.


var TypeCheck = (function () {

    function is(type, obj) {
        var cls = Object.prototype.toString.call(obj).slice(8, -1);
        return obj !== undefined && obj !== null && cls === type;
    }

    var i, checkers = {},
        types = "String|Number|Boolean|Array|Object|Function|RegExp|Date|Error".split("|");

    for (i = types.length; i--;) {
        checkers["is" + types[i]] = (function (type) {
            return function (obj) {
                return is(type, obj);
            }
        })(types[i]);
    }

    return checkers;

})();

Оставте свой комментарий

Позиционируем всё

Конференция уральских веб-разработчиков 2011

В феврале 2011 года прошла уже вторая по счёту Конференция уральских веб-разработчиков, на которой я выступил с докладом «Позиционируем всё»

Презентация доклада (PDF, 2Мб)

  • Закладываем надежный фундамент для будущих страниц. Краткий обзор популярных «обнуляторов» стилей.
  • Техники позиционирования элементов (CSS-свойство position, плавающие блоки, отрицательный отступ и многое другое).
  • Планируем разметку. Не забываем включать голову, и думать на шаг вперед.
  • Как угодить и дизайнеру и оптимизатору.
Комментарии к заметке: 1