함수 호출에서 괄호를 사용해야 하는 경우
다음 코드를 살펴보면
var myFunction = function() { setTimeout(myFunction, 1000); } myFunction();
이유가 궁금할 수도 있습니다. setTimeout 내의 함수 호출에는 괄호가 필요하지 않지만 독립적인 함수 호출에는
구별 이해
Timeout 함수 인수
setTimeout은 함수 참조를 인수 중 하나로 사용합니다. 주어진 코드에서 myFunction은 콜백 함수로 참조됩니다.
Timeout 인수의 괄호
setTimeout(myFunction(), 1000)에 괄호를 포함하면 의도하지 않은 결과가 발생할 수 있습니다. myFunction이 함수를 반환하는 경우(예: 화살표 함수 사용) 이러한 경우 setTimeout은 함수 참조 자체 대신 myFunction의 반환 값을 받습니다. 이로 인해 함수가 반복적으로 실행되거나 예상치 못한 동작이 발생할 수 있습니다.
따라서 함수 참조가 필요한 setTimeout 또는 유사한 메서드를 사용할 때는 일반적으로 함수 인수에 대해 괄호를 생략하는 것이 좋습니다.
위 내용은 `setTimeout`에서 함수 호출을 항상 괄호로 묶지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!