괄호를 사용해야 하는 경우와 사용하지 않는 경우는 무엇입니까?
JavaScript에서는 특히 함수의 경우 괄호를 사용해야 하는 경우와 사용하지 않는 경우를 이해하는 것이 중요합니다. 참조. 다음 코드를 고려해보세요.
var myFunction = function() { setTimeout(myFunction, 1000); } myFunction();
setTimeout의 함수 호출에는 왜 괄호가 필요하지 않은데 마지막 줄에는 괄호가 필요합니까?
Nutshell
자세한 설명
setTimeout은 함수 참조를 인수로 받아들입니다. 첫 번째 줄에서 setTimeout(myFunction, 1000)은 참조가 필요하기 때문에 괄호 없이 함수 참조를 전달합니다.
그러나 마지막 줄에서 myFunction()은 실제로 함수를 호출합니다. 함수를 호출하려면 괄호를 사용하여 실행합니다. 따라서 myFunction()은 함수를 실행하므로 괄호가 필요합니다.
Exception
다음과 같이 setTimeout(myFunction(), 1000)이 적절한 경우가 있을 수 있습니다. myFunction()이 함수를 반환할 때. 예:
function myFunction() { return function() { alert("ohai") } } // Or const myFunction = () => () => alert("ohai")
이 경우 setTimeout(myFunction(), 1000):
이렇게 하면 매초 알림이 발생합니다.
결론
효과적인 JavaScript를 위해서는 함수 참조에서 괄호의 목적을 이해하는 것이 필수적입니다. 프로그램 작성. 괄호는 함수 호출을 의미한다는 점을 기억하면 이를 올바르게 사용하여 함수를 호출하거나 필요에 따라 함수 참조를 전달할 수 있습니다.
위 내용은 JavaScript 함수 참조에 괄호를 언제 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!