The only way linter would be satisfied there is doing

            var i;
            if (values.length) {
                […]
                    for (i = values.length; i--;) {
                       […]
                    }
                […]
                }
            } else {
                for (i = this._handlers.length; i--;) {
                    […]
                }
            }

I'd say this looks more like a hack really. Or is there another way of solving it?