Я знаю, что это довольно старый вопрос, но я не видел никакого ответа, который разъясняет, почему и когда его можно порвать с возвращением.
Я хотел бы объяснить это на двух простых примерах:
1. Пример:
в этом случае у нас есть простая итерация, и мы хотим порвать с возвращением true, если мы можем найти три.
function canFindThree() {
for(var i = 0; i < 5; i++) {
if(i === 3) {
return true;
}
}
}
если мы вызовем эту функцию, она просто вернет истину.
2. Пример
В этом случае мы хотим перебрать каждую функцию jquery , которая принимает анонимную функцию в качестве параметра.
function canFindThree() {
var result = false;
$.each([1, 2, 3, 4, 5], function(key, value) {
if(value === 3) {
result = true;
return false; //This will only exit the anonymous function and stop the iteration immediatelly.
}
});
return result; //This will exit the function with return true;
}