■ 프론트엔드 ■/JavaScript
변수에 함수를 할당
serpiko
2014. 5. 9. 17:26
변수나 객체에 함수를 할당
<!DOCTYPE HTML> <html lang="ko"> <head> <title> NewDocument </title> <meta charset="utf-8"> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> </head> <body> <script> $(document).ready(function(){ var str = "황금 연휴" var varFnc = func1; var returnFnc = func2(str); //case1 : grant variables and call varFnc(); //case2 : grant variables and return console.log(returnFnc); //case3 : grant variables and call (by object) var obj = {}; obj.fnc = func3; obj.str = "주말 출근(을)" obj.fnc(obj.str); /* Function List */ function func1() { console.log("함수 1 입니다."); } function func2($args) { var msg = $args + "를 받은 함수 2 입니다."; return msg; } function func3($args) { console.log($args + "를 받은 함수 3 입니다."); } }); </script> </body> </html>
결과)
함수 1 입니다.
황금 연휴를 받은 함수 2 입니다.
주말 출근(을)를 받은 함수 3 입니다.
헷갈릴 때가 종종 있다.
특히 object 형식으로 객체를 만들어서 쓰다보면 자바스크립트도 getter/setter가 지원될 것처럼 착시를 일으켜
myObject.Func() 혹은 myObject.Func(args)가 맞는 표현인데도
myObject.Func; 이렇게 쓰고 한참을 기다릴때가 있다. 물론 반응은 없다.
함수의 변수 할당과 리턴과의 관계는 위에서 예를 든 것 에서 크게 벗어 나지 않으므로 정리하여 남겨둔다.