제가 잘 이해하지 못하는 것이 있습니다. 이번에는 문제를 매우 잘 설명하는 코드를 보았습니다.
으아악질문은 하나뿐입니다:
으아악이 단락에서는 elementID
,final_x
,final_y
,interval
네 개의 매개변수가 전달됩니다. 첫 번째 매개변수는 문자열인 것을 제외하고 마지막 세 개는 모두 숫자입니다.
첫 번째로 이해되지 않는 것은 왜 이러한 매개변수를 따옴표로 묶어야 하는지입니다. 두 번째로 이해되지 않는 것은 더하기 기호가 하는 일입니다. 또 다른 질문은 elementID
와 같은 문자열이 큰따옴표로 묶인 이유는 무엇입니까?
일반적으로 문자열 접합에는 더하기 기호가 적합하다고 생각하지만 여기서는 분명히 그렇지 않습니다. 한 쌍의 따옴표는 그 안에 들어있는 더하기 기호의 의미가 무엇인가요?
1. 따옴표는 쉼표로 묶입니다
2.123456+"somestring"→"123456somestring"
3.elementId는 String 유형 매개변수이므로 따옴표를 추가하세요
변수가 드디어 문자열로 변환되었습니다! 숫자 + 따옴표는 문자를 변경합니다. 필요한 매개변수가 숫자 대신 문자열인 경우
여기의 문자열은 밀리초 지연 후에 실행하려는 코드 문자열을 나타내는 setTimeout의 eval 사용법과 동일합니다
우선 여기의 더하기 기호는 실제로 문자열 접합에 사용됩니다
으아아아의 결과는
입니다. 으아아아repeat라는 문자열 변수를 setTimeout에 매개변수로 전달하면 됩니다. 즉, 밀리초 간격 후에 반복이 실행됩니다
으아아아실제로는
과 기본적으로 동일합니다. 으아아아이게 더 이해하기 쉬울 텐데요, 그렇죠?
그러나 이 두 가지 방법에는 여전히 차이점이 있습니다. 일반적으로 질문자가 언급한 방법은 window.setTimeout, Running string as function in javascript setTimeout?을 참조하세요.