Tôi có một hàm javascript mà sẽ kiểm tra xem nếu một nghệ sĩ tồn tại trong một tập tin XML:Javascript trả lại không phá vỡ ra khỏi chức năng
function artistExists(artist) {
// get data from artists.xml
$('.loading').show();
$.get(artists_xml, function(xml){
$('.loading').hide();
$(xml).find('artist').each(function(){
if ($(this).find("ar_artist").text() == artist.val()) {
alert ('artist exists');
return true;
} //end if
}); // end each
alert ('artist does not exist');
return false;
}); // end .get function
} // end of artistExists function
Tôi có ngay trong suy nghĩ rằng 'trả về true' dòng nên bỏ thi của hàm? Tôi nghĩ rằng nó sẽ, nhưng sau khi tìm thấy một kỷ lục và chạy thực hiện cảnh báo đầu tiên tiếp tục thông báo thất bại ở phía dưới.
Tôi làm gì sai? Cảm ơn bạn.
Đã lâu rồi, nhưng tôi có một câu hỏi về nó: Tôi đã cố gắng sử dụng 'return' chỉ và nó dừng' .each', vậy là 'return false' không phải là phải làm hoặc có cái gì đó Tôi nên biết? –
@CagatayUlubay: Chỉ 'return' sẽ không dừng vòng lặp' each', nó chỉ nhảy ra khỏi cuộc gọi lại cho lần lặp lại đó; vòng lặp sẽ tiếp tục với lần lặp tiếp theo. 'return false' sẽ nhảy ra khỏi hàm gọi lại cho vòng lặp lặp lại đó ** và **. –