아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
호탕한박쥐275
호탕한박쥐27519.06.23

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

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

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

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

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

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

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

어떻게 다른건가요?

55글자 더 채워주세요.
답변의 개수
2개의 답변이 있어요!
  • run은 그 함수를 호출한 결과...가 아닌, 그냥 그 함수입니다.

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

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

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

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


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

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

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

    var a = "AA"

    var fun = function func(){

    console.log("BB")

    }

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

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

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

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

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