Здравствуйте, помогите, пожалуйста разобраться в коде, а именно в условии if:
var c = !1;
if (
(s.size > r.max_upload_size && (alert(dnd_cf7_uploader.drag_n_drop_upload.large_file), (c = !1)),
(regex_type = new RegExp("(.*?).(" + r.supported_type + ")$")),
c !== !1 || regex_type.test(s.name.toLowerCase()) || (alert(dnd_cf7_uploader.drag_n_drop_upload.inavalid_type)),
localStorage.setItem(o, Number(localStorage.getItem(o)) + 1),
c === !1)
)
{
/* Выполняющийся код, если условие истинно */
}
Что означает в условии разделяющая запятая? Логические операторы "И, ИЛИ, НЕ" понимаю, а вот такие сложные условия читать не могу, в итоге не могу понять, когда условие даст true, а когда false...