본문 바로가기
Develop/JavaScript & JQuery

함수

by jaekk 2018. 6. 26.

 1. 익명함수


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 //콜백함수: 매개변수로 전달하는 함수
    function callTenTimes(callback){
      for(var i=0;i<10;i++){
        callback();
      }
    }
 
    // 변수를 선언한다.
    var callback = function(){
      alert('함수호출');
    };
 
    // 함수를 호출한다
    callTenTimes(callback);
 
    function callTenTimes1(callback){
      for(var i=0;i<3;i++){
        callback();
      }
    }
 
    callTenTimes(function(){
      alert("Aa");
    });
 
cs

 2. 익명 콜백함수

 

1
2
3
4
5
6
7
8
9
10
11
  //익명 콜백 함수
    //함수를 선언한다.
    function callTenTimes(callback){
      for(var i=0;i<3;i++){
        callback();
      }
    }
 
    callTenTimes(function(){
      alert('함수 호출');
    });
cs

 3. 함수를 리턴하는 함수

 
1
2
3
4
5
6
7
8
9
10
11
//  함수를 리턴하는 함수
// 함수 생성
function returnFunction(){
  return function(){
    alert('Hello Function');
  };
}
 
// 함수 호출
// 함수가 리턴되므로 한번 더 호출해서 alert() 함수 실행
returnFunction()();
cs

 4-1. 클로저1

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//클로저: 1.지역변수를 남겨두는 것
    //       2. 리턴된 함수 자체
    //       3. 해당 함수로 생성된 공간
    //       4. 해당 변수
    //함수 선언
    function test(name){
      var output = 'Hello' + name +'...!';
      return function(){
        alert(output);
      };
    }
 
    //출력
    test('JavaScript')();
cs

 4-2. 클로저2

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//클로져2 - 고유한 지역변수를 가짐
//함수 선언
function test(name){
  var output = 'Hello '+name+'...!';
  return function(){
    alert(output);
  };
}
 
//변수 선언
var test_1 = test('Web');
var test_2 = test('JavaScript');
 
//함수 호출
test_1();
test_2();
cs

 5. setTimeout()

 
1
2
3
4
// 3초 후에 함수 실행
setTimeout(function(){
  alert('3초가 지났습니다.');
},3000);
cs

 5-2. 타이머 함수

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 1초마다 함수를 실행
// setInterval(function, millisecond): 일정시간마다 함수 반복 실행
// clearInterval(id):
// setTimeout(function, millisecond): 일정시간 후 함수 한번 행
// clearTimeout(id): 일정시간 후 함수 한번 실행을 중단 
var intervalID = setInterval(function(){
  alert('<p>'+new Date()+'</p>');
},1000);
 
//10초 후 함수 실행
setTimeout(function(){
  // 타이머 종료
  clearInterval(intervalID);
},10000);
cs
 자바스크립트 실행 순서
 
1
2
3
4
5
6
7
//실행순서: A->C->B
//웹 브라우저에게 처리 부탁-> 현재 단위가 끝나기 전까지 실행되지 않음 
alert('A');
setTimeout(function(){
  alert('B');
},0);
alert('C');
cs
 
 
 
 
 



'Develop > JavaScript & JQuery' 카테고리의 다른 글

자바스크립트 정리  (0) 2018.06.29
자료형  (0) 2018.06.26
SELECT BOX(1차)  (0) 2018.06.11
SELECT BOX(2차)  (0) 2018.06.11
jQuery 이벤트  (0) 2018.06.10

댓글