xoma2: передайте аргументом тот объект, который Вы хотите использовать внутри функции outdatedBrowser как this. Не конструируйте сложных решений без нужды.
Yaroslav Lyzlov: > в общем функция берёт контекст того, где она вызвана, то есть this в данном случае это this коллбэка этой функции addBootstrapLink
Вы не правы, контекст "места вызова" не используется. В случае вызова функции как "свободной" переменной (по имени) this будет либо глобальным объектом, либо undefined в случае "use strict";
Решение на getDate/getMonth/... довольно хардкорное, зато стопудово быстрое :) Главное — не забыть getMonth() + 1, а то артефакты получаются очень не смешные.
like за moment.js — очень универсальный комбайн. А ещё, при общении с БД надо учитывать настройки часовых поясов. Как-то напарывался на то, что коннектор mysql довольно плохо работает с параметром timezone.
Денис: я бы предпочел писать скобочки :-) Безусловно, можно придумать задачу, в которой вся эта "черная магия" будет нужна. Но лучше "починить" само условие задачи.
Я вообще избегаю (стараюсь избегать) неочевидных конструкций в коде, который будет выполняться в неизвестном окружении — например если требуется поддержка широкого круга браузеров. Если мой код выполняется в определенной версии node.js под определенной ОС и обложен тестами — тогда можно начать воровать-убивать. Но зачем?