Tôi biết đó là một câu hỏi khá cũ nhưng tôi không thấy câu trả lời nào, điều này làm rõ lý do tại sao và khi nào có thể phá vỡ bằng cách trả lại.
Tôi muốn giải thích nó với 2 ví dụ đơn giản:
1. Ví dụ:
Trong trường hợp này, chúng ta có một phép lặp đơn giản và chúng ta muốn ngắt với return true, nếu chúng ta có thể tìm thấy ba.
function canFindThree() {
for(var i = 0; i < 5; i++) {
if(i === 3) {
return true;
}
}
}
nếu chúng ta gọi hàm này, nó sẽ trả về true.
2. Ví dụ
Trong trường hợp này, chúng tôi muốn lặp lại với từng hàm của jquery , lấy hàm ẩn danh làm tham số.
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;
}