익명함수(Anonymous function)
- 함수명 대신 변수에 함수코드를 저장하는 구현방식
- 익명함수의 소스코드는 변수값이므로 끝에 세미콜론(;)을 대입
- 호출시 변수명을 함수명처럼 사용한다
- 함수코드가 변수에 저장된 형태이므로 다른 변수에 대입하듯 이동가능
익명함수 선언
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel = "stylesheet" href ="../css/outStyle.css">
</head>
<body>
<script>
var apple = function() {
document.write("This is a banana");
};
var banana = apple;
console.log(banana);
</script>
</body>
</html>
익명함수(=표현식함수)
- 호출시점: 브라우저 런타임시 동적으로 선언되며 바로 사용
- 호이스팅 불가(대상이 아님)
- 특징 : 변수에 할당하여 사용하는 형태
<script>
var sum=function(a,b){
var c = a+b;
return c;
};
console.log(sum(3,4));
</script>
일반적인 형태의 선언식 함수(=기명함수)
- 호출시점: 브라우저 런타임 이전에 이미 선언되어지며 호출하여 사용
<script>
function sum(a,b){
var c = a+b;
return c;
}
console.log(sum(1,2));
</script>
익명함수=무명함수=즉시실행함수
<script>
(function(str){
alert(str);
})("안녕!!!!!");
</script>