DrunkMaster
@DrunkMaster

Что делает эта функция JS?

Интересует функция isCapped() Она проверяет есть ли поддержка cookie что ли... Если она возвращает return то это как бы true а если ничего не возвращает то это false?
var sConfig      = (sConfig || {});
var sCap     = (sConfig.cap  || 2);
    function isCapped() {
        try {
            popsToday = Math.floor(document.cookie.split(cookie + 'Cap=')[1].split(';')[0]);
        } catch (err) {}
        return (sCap <= popsToday || document.cookie.indexOf(cookie + '=') !== -1);
    }

    if (isCapped()) {
        return;
    } else {
        // открыть всплывающее окно
    }
  • Вопрос задан
  • 145 просмотров
Решения вопроса 2
@ib2
Веб-программист
Судя по всему, эта функция проверяет было ли показано текущему пользователю всплывающее окно или нет. Если нет, то показываем ему это окно
Ответ написан
copist
@copist
Empower people to give
Две неопределённые переменные sCap и cookie - без них предположение о работе функции очень приблизительные.

Она проверяет есть ли поддержка cookie что ли...

Нет, она читает из кук какое-то значение.

Выполни в консоли бразера Google Chrome такую строку:
console.log(document.cookie)

На примере тостера, будет приблизительно вот такая строка:
_gat=1; _ga=GA1.2.591983563.1439419107; _ym_visorc_24049246=w


Твой скрипт ищет в такой строке подстроку от слова "что-тоCap=" до символа ";", затем найденное значение приводит к целому путём округления. Результат использует для логического сравнения.
Я повторю: две неопределённые переменные sCap и cookie - без них предположение о работе функции очень приблизительные.

Если она возвращает return то это как бы true а если ничего не возвращает то это false?


Если ничего не возвращает, то это undefined. В логических операциях может быть приведена (временно пребразована) к булевскому значению false, но это всё же undefined.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы