함수 선언과 호출의 괄호
JavaScript에서 함수 선언과 호출의 차이는 구문에 나타납니다. 함수 선언은 중괄호로 끝나지만 함수 호출은 괄호로 끝납니다.
다음 예를 고려하세요.
var myFunction = function() { setTimeout(myFunction, 1000); } myFunction();
여기서 setTimeout 함수는 함수 참조를 인수로 예상합니다. myFunction을 작성하면 함수 자체를 참조하게 됩니다. 이와 대조적으로 myFunction()은 실제로 함수를 호출합니다.
간단해 보이지만 예외가 있습니다. setTimeout은 다음 코드와 같이 함수를 반환하는 함수를 허용할 수도 있습니다.
function myFunction() { return function() { alert("ohai"); } } // or const myFunction = () => () => alert("ohai");
이 시나리오에서 setTimeout(myFunction(), 1000)은 다음과 같습니다.
이렇게 하면 매초마다 알림이 표시되도록 효과적으로 예약됩니다.
따라서 중요한 차이점은 괄호를 생략하면 함수 개체 자체를 참조한다는 것입니다. 괄호를 포함하면 함수가 호출됩니다. 이는 var myFunction = function() { ... } 등의 함수 선언과 const myFunction = () => 등의 함수 표현식에 적용됩니다. { ... }.
위 내용은 JavaScript 함수 호출에서 괄호가 언제 중요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!