다음 코드는 정상적으로 실행될 수 있지만, [방법 2]는 오류 보고를 피하기 위해 타이머를 추가해야 합니다. 논리적으로 말하면 JS는 다음 [방법 2]를 실행하기 전에 [방법 1] 코드를 실행하면 안 되는 걸까요? 타이머를 사용하는 경우 [방법 2]를 실행하기 전에 [방법 1]이 완전히 실행되었는지 확인할 수 있는 다른 방법은 없습니다
기능 온라인 데모: http://bbs2.valueonline.cn/we...
데모 다운로드: http://pan.baidu.com/s/1dEHPTV7
기본 JS 코드:
으아악怪我咯2017-05-19 10:16:33
js 자체는 비동기식이며 엄격한 순서로 실행되어야 합니다.
콜백 기능;
PHP中文网2017-05-19 10:16:33
js는 단일 스레드입니다. 즉, 한 실행이 완료된 후 다음 실행이 실행됩니다.
당신이 언급한 두 함수와 같이 작은 명령문과 빠르게 실행되는 명령문은 위에서 아래로 실행됩니다. 위에서 아래로 순서대로 실행되지는 않습니다.
해결책은 위 친구의 답변과 같습니다.
가장 간단한 방법은 콜백 함수를 작성하는 것입니다. 이 방법은 또한 가장 일반적으로 사용되는 방법이기도 합니다. 두 함수의 실행 순서를 제어하는 것입니다
함수 b가 매개변수 형태로 함수 a에 전달되고, 함수 b를 콜백 함수라고 합니다.
b는 a의 끝에 위치합니다. a가 실행된 후 b
이상이 다시 실행됩니다