일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 | 27 | 28 | 29 | 30 |
- katalon xpath
- 홈택스 해외주식 양도세
- 한국투자증권 양도세 신고
- recursion example
- tomcat log
- 피보나치함수 예제
- 한국투자증권 해외주식 양도세
- git 연동
- oracle group by
- 해외증권 양도세 한국투자증권
- js 자동완성
- katalon 자동화
- 재귀함수 예제
- 테스트 자동화
- katalon
- bfs 미로탐색 java
- 주식 양도세 신고방법
- 재귀 예제
- katalon 비교
- 피보나치 예제
- java.sql.SQLSyntaxErrorException
- 국세청 해외주식 양도세 신고방식
- javascript 자동완성
- 피보나치함수
- katalon 사용법
- 톰캣 실시간 로그
- Katalon Recorder 사용법
- 최대공약수 예제
- CSTS 폭포수 모델
- 해외주식 양도세 신고
- Today
- Total
엄지월드
값으로서의 함수 본문
JavaScript에서는 함수도 객체다. 다시 말해서 일종의 값이다. 거의 모든 언어가 함수를 가지고 있다.
JavaScript의 함수가 다른 언어의 함수와 다른 점은 함수가 값이 될 수 있다는 점이다.
a 변수 안에 있는 b 속성의 값을 메소드라고 한다.
함수는 값이기 때문에 다른 함수의 인자로 전달 될수도 있다. 아래 예제를 보자.
function cal(func, num){
return func(num);
}
function increase(num){
return num+1;
}
function decrease(num){
return num-1;
}
alert(cal(increase, 1));
alert(cal(decrease, 1));
함수는 함수의 리턴 값으로도 사용할 수 있다.
function cal(mode){
var funcs = {
'plus' : function(left, right) { return left + right},
'minus' : function(left, right) { return left + right}
}
return funcs[mode];
}
alert( cal('plus')(2,3) );
alert( cal('minus')(2,3) );
당연히 배열의 값으로도 사용할 수 있다.
var process = [
function(input) { return input + 10; },
function(input) { return input * input; },
function(input) { return input / 2 ; }
};
var input = 1;
for(var i =0; i < process.length; i++){
input = process[i].(input);
}
alert(input);
콜백
처리의 위임
var numbers = [ 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1];
var sortfunc = function(a, b){
console.log(a, b);
if( a > b){ return 1;
}else if ( a < b ){ return -1;
}else { return 0; }
}
console.log(numbers.sort(sortfunc));
이것을 간단하게 바꾸면
var numbers = [20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1];
var sortfunc = function(a, b){
return a - b;
}
가 된다. 왜냐하면 큰 값에서 작은 값을 빼면 양수일꺼고 작은 값에서 큰 값을 뺴면 음수일 것이기 때문이다.
만약 문자라고 하면, 사용자가 원하는 기준을 만들고 그에 따라 정렬하면 된다.
값으로써 함수를 전달할 수 있기 때문에 원래 함수의 동작을 제어할 수 있다.
이것을 콜백이라고 한다.( 값으로 함수를 전달할 수 있다는게 중요)
비동기 처리(Ajax)
datasource.json.js
{"title":"JavaScript", "author":"jiyong"}
ajaxTest.js
<script>
$.get('./datasource.json.js', function(result){
console.log(result);
}, 'json');
</script>
위임을 하는 기법은 콜백을 통해 이루어진다.
출처 : https://opentutorials.org/course/743/6508
'Front' 카테고리의 다른 글
jQuery 자동완성 기능(autoComplete) (0) | 2017.08.22 |
---|---|
파일 유효성 체크하는 방법 (0) | 2017.07.20 |
유효범위 (0) | 2017.07.15 |
js 정규식 (0) | 2017.07.15 |
js (0) | 2017.07.15 |