IT이야기

var functionNm = function(){}와 function functionNm(){}의 차이점

cyworld 2021. 2. 9. 16:03
반응형

우선 var functionNm = function(){}의 방식은 해당 행에 도달 했을 때 정의가 됩니다만, function functionNm(){}은 함수 선언이므로 스크립트 실행 즉시 정의가 됩니다.

 

예를 들어보죠.

<html>
<head>
<title>테스트</title>
</head>
<script src="jquery-1.10.2.min.js"></script>
<script>
$(document).ready(function() {

	functionFirst();

	var functionFirst = function() {
		console.log("Hello. First!");
	};
});
</script>
<body>
</body>
</html>

 

위처럼 구성하고 브라우저에서 실행하면 아래처럼 functionFirst를 찾을 수 없다라는 에러가 발생하게 됩니다.

 

<html>
<head>
<title>테스트</title>
</head>
<script src="jquery-1.10.2.min.js"></script>
<script>
$(document).ready(function() {

	functionSecond();

	function functionSecond() {
		console.log("Hello. Second!");
	};
});
</script>
<body>
</body>
</html>

반면 위처럼 일반적인 방법으로 함수화 하면 문제 없이 function이 실행됩니다.

Hello. Second!

 

 

반응형