>  기사  >  웹 프론트엔드  >  setTimeout에 문자열을 전달하는 것이 정당합니까?

setTimeout에 문자열을 전달하는 것이 정당합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-20 07:37:02490검색

Is Passing a String to setTimeout Ever Justified?

setTimeout에 문자열을 전달하는 것은 언제 허용됩니까?

setTimeout 또는 setInterval에 문자열을 전달하는 것은 일반적으로 실행을 포함한 단점으로 인해 권장되지 않습니다. 글로벌 범위, 성능 문제 및 잠재적인 보안 위험. 그러나 질문이 생깁니다. 이 더 이상 사용되지 않는 방식을 사용해야 하는 합법적인 이유가 있습니까?

전역 범위 액세스

확인된 유일한 잠재적 시나리오는 기능에 액세스하거나 로컬로 재정의된 전역 범위에 존재하는 변수입니다. 그러나 이는 로컬 식별자와 전역 식별자 간의 충돌을 초래하므로 잘못된 코드 설계를 의미합니다.

역사적 기원 및 레거시 지원

역사적 이유로 더 이상 사용되지 않는 구문이 허용될 가능성이 높습니다. . 처음에 setTimeout 및 setInterval은 코드 문자열만 첫 번째 인수로 허용했습니다. 함수 객체 참조 전달에 대한 지원은 나중에 도입되었습니다.

따라서 기존 코드, 레거시 브라우저 및 이전 JavaScript 버전에 의존할 수 있는 IoT 장치에 대한 하위 호환성을 유지하려면 문자열 기반 구문을 보존해야 합니다. 그럼에도 불구하고, 현대적인 개발을 위해서는 함수 표현식을 사용하여 선호하는 구문을 채택하는 것이 좋습니다.

위 내용은 setTimeout에 문자열을 전달하는 것이 정당합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.