Почему JSLint жалуется на "Неожиданное "еще" после "возврата""?

JSLint жалуется, что следующий (бесполезный пример) код недействителен:

(function (x) {
    "use strict";
    if (x === 1) {
        return 1;
    } else if (x === 2) {
        return -1;
    }
    return 0;
}(1));

Ошибка: Проблема в строке 4, символ 9: Неожиданное «еще» после «возврата».

вернуть 1;

Это серьезно предполагает, что использовать операторы return внутри структуры if/else плохо?

Он считает, что эта версия подходит:

(function (x) {
    "use strict";
    var returnval = 0;
    if (x === 1) {
        returnval = 1;
    } else if (x === 2) {
        returnval = -1;
    }
    return returnval;
}(1));
56
задан Hal 28 February 2012 в 11:02
поделиться