if (!hasClass(li, 'read')) {
if (hasClass(li, 'msg-chat-message') && hasClass(li, 'msg-moderator-message')) {
var msg = li.childNodes[1] ? li.childNodes[1].textContent : '';
}
}
не имеет смысла потому что просто заводит переменную, ничего с ней не делая. Следующая строка вызывает setElementRead которая всего-лишь добавляет класс элементу. На этом исполняемая часть видимой программы “все”.
Бонус странность - функции объявлены так что они попадают в глобальную область видимости и становятся доступны любым скриптам на странице. С этой точки зрения оборачивание всего кода в
(function(x) {
...
}(window));
не имеет смысла ибо чаще всего такая обертка нужна чтобы объявленные функции остались видимы только внутри области видимости функции-обертки.
Чтобы понять как работает вся система смотри где и как вызываются эти глобально объявленные функции в других частях скрипта, возможно даже из аттрибутов html элементов.