이번에는 for 루프 var 및 let 사용 방법과 for 루프 var 및 let 사용 시 주의 사항은 무엇인지 알아보겠습니다.
AJAX로 보낸 요청에 또 다른 AJAX 요청이 중첩되어 있었는데, 내부 요청 성공 시 첫 번째 성공의 루프 변수 i를 얻을 수 없는 것으로 확인되었습니다.
$.ajax({ type: "get", url: "//////////////////////////", success: function (result) { rs = JSON.parse(result).data; for (var i = 0; i < rs.length; i++) { //用var定义有问题 var pos_ = "" $.ajax({ type: 'GET', async: false, dataType: 'jsonp', contentType: 'application/json; charset=utf-8', url: "///////////////////////////////////", success: function (result) { console.log(rs[i]) //报错 } }) } } })
두 번째 ajax에서는 요청 후 콜백 함수에서 rs[i]가 오류를 보고합니다.
해결책:
for 루프에서 선언한 변수 var를 변경하여 i
구체적인 이유:
첫 번째 콜백 함수 이후에 for 루프에 다시 요청을 보내면 for 루프 동기 요청을 작성하더라도 중지되지 않습니다.
그러나 for 루프 변수를 선언한 후 let을 사용하면 요청이 완료되고 콜백 함수가 실행될 때까지 코드는 다음 루프를 시작하지 않습니다.
이는 다양한 범위에서 var 및 let 선언을 작성하는 경우 발생하는 폐쇄 문제를 고려한 것입니다.
let i는 로컬 변수로 전달됩니다.
var i는 전역 변수로 전달됩니다.
i 변수를 다음 레이어로 전달하려면 let을 사용하여 선언하세요.
이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 도서:
Angular를 사용하여 Font-Awesome을 여는 방법
위 내용은 for 루프 var를 사용하고 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!