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