JavaScript의 함수 호출 구문: 괄호 또는 괄호 없음
JavaScript에서 함수를 호출할 때 괄호를 사용하면 그 잠재력에 대한 의문이 제기됩니다. 의미. 다음 두 구문의 차이점을 살펴보겠습니다.
빈 괄호를 사용하여 호출:
window.onload = initAll();
이 경우 initAll() 함수가 즉시 호출되고 반환됩니다. 값은 window.onload에 할당됩니다. 일반적으로 인수가 전달되지 않으면 initAll()이 함수를 반환한다고 가정하므로 이 접근 방식은 바람직하지 않습니다.
괄호 없이 호출:
window.onload = initAll;
이것은 구문은 함수 참조 자체를 실행하지 않고 window.onload에 할당합니다. 이는 JavaScript에서 함수가 다른 변수처럼 할당되고 참조될 수 있는 일급 개체이기 때문입니다. 이 경우 로드 이벤트가 발생할 때 initAll이 실행됩니다.
괄호가 있는 Lambda 구문:
window.onload = () => initAll();
이 람다 표현식은 initAll을 호출하는 새 함수를 생성합니다. () 호출되면 즉시. initAll()이 즉시 호출되도록 하려면 여기에 괄호가 필요합니다. 그러나 외부 함수에 대한 참조는 여전히 window.onload에 할당되어 있으므로 initAll은 로드 이벤트에서 실행됩니다.
위 내용은 JavaScript 함수 호출: 괄호 – 언제 필요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!