1 2 3 4 5 6 7 8 | <script> var f = function(d) { return d * d; } var val = f(); //호출하고자 하는 함수가 매개변수를 정의하고 안줘도 에러는 아님 alert(val); </script> | cs |
1 2 3 4 5 6 7 8 | <script> var f = function(d) { alert(arguments.length); //호출되고 있는 현재함수가 받은 매개변수들에 대한 정보를 담고 있는 객체 return d * d; } var val = f(2,3,4); // 세 개의 데이터가 번부 함수로 전달은 됐음, //첫번째 데이터만 d라는 이름을 부여받음 alert(val); | cs |
1 2 3 4 5 6 7 8 9 10 | <script> // 누적곱을 계산해주는 함수를 만들어보세요. var mult = function(){ //함수안에 함수를 넣은 수 있다. var s = 1; // 속한 함수 안에서만 접근 가능한 데이터, var응ㄴ 변수이고, 자바스크립트에 있는 6가지 자료형에 대한 // 데이터를 참조(저장)할 수 있음 for(var i = 0; i < arguments.length; i++) s *= arguments[i] ; return s; } alert( mult(1,2,3,4)); | cs |
1 2 3 4 5 6 7 8 9 10 | <script> //전달되는 매개변수 받아내기(6가지 자료형 아무거나 매개변수에 들어올 수 있음) function callThreeTimes(callBack){ for(var i = 0; i < 3; i++) callBack();//매개변수로 전달받은 함수로 호출 } var callBack = function(){ //함수도 6가지 자료형 중 하나이고 변수에 담길 수 있음 alert('함수호출'); } callThreeTimes(callBack); //매개변수에 함수를 전달 | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <script> //두수를 매개변수로 받아서 합을 리턴하는 함수 var addFunc = function(a,b){ return a+b; } //두수를 매개변수로 받아서 곱을 리턴하는 함수 var multFunc = function(a,b){ return a*b; } //함수를 매개변수로 받아서 그 함수에 두개의 숫자를 넘겨주고 //호출한 함수가 리턴하는 값을 출력하는 함수 작성 var printFunc = function( func ){ alert('결과를 출력합니다.'); alert ( func(3,2) ); } printFunc( addFunc ); printFunc( multFunc); | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <script> var punch = function(){ alert('펀치공격!'); } var missile = function(){ alert('미사일 공격!'); } var walk = function(){ alert('걸어서 이동'); } var fly = function(){ alert('날아서 이동'); } var robotFight = function(attack, move) { attack(); move(); attack(); } robotFight(punch,walk); | cs |
callback 함수 : 매개변수로 전달받은 함수를 호출하는 것
클로저(closure) : 함수내의 지역변수는 함수가 종료될 때 메모리가 해제되야 되는데,
반환값으로 사용한 내부함수에서 지역번수를 사용하고 있어서 해제되지 못하고 메모리가 남아있는 현상
내부함수가 외부함수의 맥락(context)에 접근할 수 있는 것을 가르킨다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <script> var myFunc = function(){ var hello = "Hello world"; var inner = function(){ alert(hello); } inner(); } var a = myFunc(); var b = myFunc(); a(); b(); | cs |
내부함수 : 함수안에 함수를 정의할 수 있음
1. 원래 선언함수는 처음 실행시 모두 읽어서 메모리에 로드 하는데 내부함수는 선언함수여도 속한 함수가 호출될 때 로드됨.
2. 각자 이름공간을 갖음
자바스크립트에서는 함수도 하나의 자료형이므로 변수에 담길 수 있고, 당연히 매개변수로 전달도 가능
1 2 3 4 5 6 | <script> setTimeout(function(){ // alert('3초지남ㅋ'); location.href = 'http://www.naver.com'; //내장객체 }, 1000); | cs |
1 2 3 4 5 6 7 8 | <script> var id = setInterval(function(){ alert('인터벌을 주기마다 계속 실행'); }, 1000) setTimeout(function(){ clearInterval(id); },5000); | cs |
' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글
Day81 (0) | 2016.07.13 |
---|---|
Day80 jQuery (0) | 2016.07.12 |
Day78 (0) | 2016.07.08 |
Day77 (0) | 2016.07.07 |
Day73 (0) | 2016.07.01 |