씨네
공부하는 개발자 강씨네
씨네
  • 분류 전체보기 (460)
    • Web (21)
      • HTML (11)
      • CSS (10)
    • JS 관련 (49)
      • JavaScript (27)
      • JQuery (22)
    • TS 관련 (15)
      • TypeScript (15)
    • NodeJS (7)
      • NodeJS (7)
    • 따라하며 배우는 시리즈 (23)
      • NodeJS & ReactJS Basic (23)
      • NodeJS & ReactJS Movie (0)
      • NodeJS & ReactJS Youtube (0)
      • NodeJS & ReactJS ChatBot (0)
    • SPA (14)
      • React (14)
      • Vue (0)
      • Anguler (0)
    • Java 관련 (118)
      • Java (52)
      • JDBC (6)
      • JSP & Servlet (18)
      • Spring Legecy (38)
      • SpringBoot (4)
    • Python (26)
      • Python (20)
      • PyMongo (1)
      • Django (5)
    • Git (24)
      • Github (24)
    • RDB (22)
      • Oracle (21)
      • MySQL (1)
    • NoSQL (5)
      • MongoDB (5)
    • OS (4)
      • Linux (4)
    • 빅데이터 (2)
      • hadoop (2)
    • IDE (20)
      • eclipse (11)
      • VSCODE (4)
      • VisualStudio (1)
      • IntelliJ (1)
      • PyCharm (1)
      • DBeaver (2)
    • Install (3)
      • Tomcat (1)
      • Docker (1)
      • Anaconda (1)
    • 오류&에러 (28)
      • TS (2)
      • NodeJS (7)
      • SQL (8)
      • Java (1)
      • Spring (4)
      • Git (6)
      • 기타 (0)
    • 알고리즘 (67)
      • 수열 (1)
      • 백준(backjoon) (39)
      • Programmers (27)
    • 자격증 (5)
      • SQLD (5)
    • 기타 (2)
    • IT유튜브로 지식쌓기 (2)

공지사항

인기 글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
씨네

공부하는 개발자 강씨네

[JavaScript] 명시적함수, 익명함수, 리터럴함수, 아규먼트 속성, 클로저
JS 관련/JavaScript

[JavaScript] 명시적함수, 익명함수, 리터럴함수, 아규먼트 속성, 클로저

2022. 1. 11. 13:49
728x90

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>

<script type="text/javascript">
	// 명시적 함수
	function func01() {
		alert("명시적 함수");
	}

	// 익명 함수
	var func02 = function() {
		alert("익명 함수");
	}

	function literalPrn(literal) {
		literal("안녕하세요, 리터럴 입니다.");
	}

	function func03() {
		// 함수가 파라미터로 전달됨 (함수 리터럴)	
		literalPrn(function(msg) {
			alert(msg);
		});
	}

	// arguments : 함수에 전달되는 아규먼트들을 배열의 값으로 가짐
	function valTest() {
		var res = "";

		for (var i = 0; i < arguments.length; i++) {
			res += arguments[i];
		}
		alert(res);
	}

	// closure : 외부함수 안에 있는 내부함수. (내부함수에서 외부함수에 있는 변수, 파라미터 등 접근 가능)
	function closureTest(val) {
		var msg = "!!!";
		function addVal() {
			alert(val + msg);
		}
		return addVal;
	}

	function amEdu(val) {
		closureTest(val)();
	}
</script>

</head>
<body>

	<h1>함수!!</h1>

	<h2>함수의 종류</h2>
	<p onclick="func01();">명시적 함수</p>
	<p onclick="func02();">익명 함수</p>
	<p onclick="func03();">함수 리터럴 (리터럴 함수)</p>

	<h2 onclick="valTest('hi','저는','cine','입니다');">args(arguments) 속성</h2>

	<h2>클로저(내부함수)</h2>
	<label for="am">오전강의</label>
	<input type="text" id="am" value="">
	<input type="button" value="클릭!" onclick="amEdu(am.value);">



</body>
</html>
기본 실행 결과

​

명시적 함수

​

익명 함수

​

리터랄 함수

​

arguments 속성 ​

 

클로저(내부함수 리턴)
728x90

'JS 관련 > JavaScript' 카테고리의 다른 글

[JavaScript] DOM(돔) 구조  (0) 2022.01.13
[JavaScript] rolling(롤링)을 이용한 그림 바꾸기  (0) 2022.01.12
[JavaScript] WINDOW객체에서 제공하는 대화형 함수(alert / confirm / prompt)  (0) 2022.01.10
[JavaScript] var변수의 사용 및 타입  (0) 2022.01.09
[JavaScript] 자바스크립트 선언 방식!  (0) 2022.01.08
    'JS 관련/JavaScript' 카테고리의 다른 글
    • [JavaScript] DOM(돔) 구조
    • [JavaScript] rolling(롤링)을 이용한 그림 바꾸기
    • [JavaScript] WINDOW객체에서 제공하는 대화형 함수(alert / confirm / prompt)
    • [JavaScript] var변수의 사용 및 타입
    씨네
    씨네
    개발자 씨네가 공부하는 내용을 기록 겸 공유하는 블로그입니다!

    티스토리툴바