javascript - setTimeout에서 s의 두 번째 매개변수가 500밀리초로 설정된 이유는 무엇입니까?
高洛峰
高洛峰 2017-06-14 10:51:04
0
4
793

다음은 간단한 시간 표시 코드입니다.

으아악

setTimeout을 1000으로 설정하면 실제 시간보다 1초 느려집니다. 왜 그럴까요?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(4)
滿天的星座

setTimeout(callback,time); 是指,callback回调执行结束并延迟time以后,在执行setTimeout();根据js单线程的特性,可能时间比time여기서 가능한 이유는 콜백에도 특정 실행 시간이 필요하기 때문입니다. Chrome의 타임라인을 사용하여 확인할 수 있습니다. 코드를 보면 별 문제가 없다고 생각됩니다.

为情所困

매우 간단합니다. setTimeout 함수는 500(ms) 또는 0.5초 후에 showTime 함수를 실행하는 것을 의미합니다. 1000이면 1초 후에 showTime 함수가 실행됩니다. 그래야만 말씀하신 문제가 발생하게 됩니다(순전히 제 개인적인 이해입니다^~^).

女神的闺蜜爱上我

showTime이 1000 또는 500 지연되더라도 시간 가져오기와 DOM 업데이트가 동시에 실행되므로 지연이 없어야 합니다(시간 계산이 잘못된 경우 제외). 그리고 여기에서 테스트했는데 지연이 전혀 발생하지 않았습니다.

또한 사용해 보는 것은 어떨까요setInterval

曾经蜡笔没有小新

이 시점에서 먼저 데이터를 가져온 다음 1초 후에 표시하면 당연히 1초 느려집니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿