JSLint жалуется, что следующий (бесполезный пример) код недействителен:
(function (x) {
"use strict";
if (x === 1) {
return 1;
} else if (x === 2) {
return -1;
}
return 0;
}(1));
Ошибка: Проблема с символом строки 4: Неожиданное "else" после "return".
return 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));