아핫뉴스실시간 인기검색어
아핫뉴스 화산 이미지
아하

생활

생활꿀팁

호탕한박쥐275
호탕한박쥐275

자바스크립트 함수호출방법 차이점

함수 호출 방법에 대해 궁금합니다.

function run(){ console.log("run"); }

자바스크립트에서 함수호출시 소괄호 사용여부에 대해 질문드립니다.

run(), run 이렇게 호출이 가능하네요

addEventListener('click', run) 에서도 이렇게 사용도 하는걸 봤습니다.

run()은 함수가 동작하고 run은 함수의 내용이 그대로 출력되는건 알겠습니다.

어떻게 다른건가요?

2개의 답변이 있어요!
  • 프알못
    프알못

    run은 그 함수를 호출한 결과...가 아닌, 그냥 그 함수입니다.

    함수를 호출하려면 그 뒤에 괄호룰 붙여서 run()으로 써야 합니다.

    addEventListener('click', run)의 경우에는 그 함수를 인자로 넘길 뿐, 그 함수를 호출하지 않습니다.

    나중에 클릭됐을 때 그 함수가 호출되도록 콜백을 등록 하는 것입니다.

    콜백 함수에 대해 찾아보시면 좋을 듯 합니다.

  • 자바스크립트에서 function 은 반드시 뒤에 () 를 붙여주어야 실행이 됩니다.

    function 은 말 그대로 function 이 무엇으로 정의되어있는지를 보여줍니다.

    일종에 변수와 동일하다고 보시면됩니다.

    var a = "AA"

    var fun = function func(){

    console.log("BB")

    }

    라고하면 a 는 그냥 변수 a를 보여줍니다. 그 어떠한 행위도 더 하지않죠

    마찬가지로 fun 은 그냥 func 라는 함수를 보여줍니다. 정의된 그대로를 보여주는것이죠.

    반대로 뒤에 () 를 붙이게되면 해당하는 정의된 함수를 실행하겠다 라는 의미입니다.

    고로 함수를 실행할때는 뒤에 ()를 붙여주시고,

    함수의 내용이 보고싶으시다면 그냥 함수 이름만 적으시면됩니다.