최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

변수나 객체에 함수를 할당


<!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; 이렇게 쓰고 한참을 기다릴때가 있다. 물론 반응은 없다.


함수의 변수 할당과 리턴과의 관계는 위에서 예를 든 것 에서 크게 벗어 나지 않으므로 정리하여 남겨둔다.





댓글