This is my code:
$('.btn-back').off('click').on('click', function (event) {
    var valid = carInfo.validate();
    if (valid) {
        event.preventDefault();
    }
});
the sentence event.preventDefault() always executes no matter what value valid is.
When I change the code to
$('.btn-back').off('click').on('click', function (event) {
    var valid = carInfo.validate();
    if (valid) {
        event.preventDefault();
    } else {
    }
});
it runs the way it should be. Maybe it's something related to Automatic Semicolon Insertion (ASI).
 
     
    