>웹 프론트엔드 >JS 튜토리얼 >JavaScript 함수 호출: 괄호 – 언제 필요합니까?

JavaScript 함수 호출: 괄호 – 언제 필요합니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-09 09:05:07833검색

JavaScript Function Calls: Parentheses – When Are They Necessary?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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