0
JSHint는 루프 내에서 함수를 작성하지 말아야한다고 알려줍니다. 그런 다음 일반적으로 루프 외부에서 함수를 만듭니다.Javascript : 루프 외부의 리팩토링 함수
하지만 지금은 가지고이 더 어려운 부분 :
for (r=0;r<x;r++) {
for (c=0;c<y;c++) {
var arr = [c,r];
setTimeout((function(arr) { return function() { doSomething(arr); };})(arr), 50+c*550 + r*230);
}
}
어떻게 내가 JSHint 경고를 얻을이 부분을 리팩토링 수 있을까?
내가 대답을 생각하지 않는다 더 컨텍스트를 제공하지 않고 부여 할 수 있습니다. y는 어디에 정의되어 있습니까? 왜 이런 일을 저지르고, settimout을 루프 (코드 냄새처럼 보입니다)에서 실행하고 있습니까? – helpermethod
x와 y는 정수 변수입니다. 루프에서 setTimeouts에 대한 나쁜 점은 무엇입니까? – clamp