1.
<HTML>
<HEAD>
<TITLE> hamsoo</TITLE>
</HEAD>
<script>
// js에서는 함수도 객체다
//일종의 값이다.
//함수 a는 변수a에 담겨진 값이다.
function a(){}
// 함수는 객체의 값으로 포함될 수 있다.
//객체의 속성값으로 담겨진 함수를 메소드라고 부른다.
car = {
speed:function(){
}
};
</script>
<BODY>
</BODY>
</HTML>
2
<HTML>
<HEAD>
<TITLE> hamsoo</TITLE>
</HEAD>
<script>
//함수는 값이기 때문에 다른 함수의 인자로 전달 될 수도 있다.
// 계산기 함수
function cal(func,num){
return func(num);
}
//더하기 함수
function increase(num){
return num+1
}
//빼기 함수
function decrease(num){
return num-1
}
// 함수 cal 에 인자로 increase와 1을 전달한다.
//cal은 첫번째 인자를 받아 함수를 실행하고 그 함수의 매개변수로 1을 전달한다.
// 해당함수 increase가 실행되고 매개 변수 1을 받아 계산 후 cal 함수로 리턴한다.
//cal은 해당 값을 리턴한다.
alert(cal(increase,1));
alert(cal(decrease,1));
</script>
<BODY>
</BODY>
</HTML>
3
<HTML>
<HEAD>
<TITLE> hamsoo</TITLE>
</HEAD>
<script>
//함수는 함수의 리턴 값으로도 사용할 수 있다.
function cal(mode){
var funcs = {
'plus': function(left,right){return left+right},
'minus':function(left,right){return left-right}
}
//함수 리턴
return funcs[mode];
}
//cal에 인자 값으로 특정 값을 넣으면 함수 반환
// 그함수에 인자 값 전달
// 계산후 리턴
alert(cal('plus')(2,1));
alert(cal('minus')(2,1));
</script>
<BODY>
</BODY>
</HTML>
4.
<HTML>
<HEAD>
<TITLE> hamsoo</TITLE>
</HEAD>
<script>
//배열 값으로도 사용가능하다.
//배열 선언
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);
<!-- 값으로서의 함수 : 자바스크립트에서 함수는 값으로도 쓰일 수 있다(변수에 담기, 객체 안에 저장하기, 다른 함수의 인자로 사용하기, 함수의 리턴값으로 사용하기, 배열의 값으로 사용하기 등) -->
<!-- -> first-class-object,citizen이라함 -->
<!-- *객체 안에서 key는 변수 역할, 속성이라고도 부르고 value에 함수가 담긴다면 이는 메소드라 부른다 -->
<!-- - 콜백함수 : 함수가 다른 함수의 인자로 사용됨으로써 그 함수의 내용을 완전히 바꿀 수 있는 것. -->
<!-- - 비동기처리 : 시간이 오래 걸리는 작업을 나중에 처리해서 일련의 작업을 순서대로 처리하지 않음으로써 사용의 편의성을 높이는 기법. -->
<!-- (일반 환경에서는 보이지 않고 서버 환경에서 구동된다) - 대표적으로 Ajax라는 기법이있음 -->
</script>
<BODY>
</BODY>
</HTML>
'매일코딩 > 자바스크립트 개념' 카테고리의 다른 글
[생활코딩 함수] arguments 4 (0) | 2017.06.02 |
---|---|
[생활코딩 함수 ] 클로저 3 (0) | 2017.06.01 |
[생활코딩 함수] 유효범위 1 (0) | 2017.05.30 |
[자바스크립트 기초]제이쿼리 4 (2) | 2017.03.05 |
[자바스크립트 기초]제이쿼리 3 (4) | 2017.03.04 |
댓글