티스토리 뷰

값으로서의 함수

 

함수도 객체이다. 거의 모든 언어가 함수를 가지고 있다.

 

<script>
        function a(){}
</script>

아래처럼도 나타낼 수 있다.

<script>
       var a = function a(){}
</script>
<script>
        a = {
            b: function () {}
        };
</script>

a 이란 변수엔 b라는 속성(함수)이 담겨있다.

<script>
        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));
</script>

함수가 변수에도 저장될수있고 그래서 자연스럽게 객체에도 저장될 수 있는데 그래서 메소드라고 불리운다.

 

반환값으로도 함수를 사용할 수 있는 예제 

 

<!DOCTYPE html>
<html lang="ko">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>생활코딩</title>
</head>

<body>
    <script>
        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, 1));
        alert(cal('minus')(2, 1));
    </script>
</body>

</html>
<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);
    </script>

60.5 3번 11, 121, 60.5 왕복한 값

 

변수, 매개변수, 리턴값 

 

 

처리의 위임 

<script>
        function sortNumber(a, b) {
            // 위의 예제와 비교해서 a와 b의 순서를 바꾸면 정렬순서가 반대가 된다.
            return b - a;
        }
        var numbers = [20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1];
        alert(numbers.sort(sortNumber)); // array, [20,10,9,8,7,6,5,4,3,2,1]
</script>

정렬에서 기본적으로 사용할 수 있는 방법은 배열.sort(); 라는 명령어를 쓸 수 있다.

 

기본 - 내장 객체 내장 메소드 빌트인 객체 빌트인 메소드

numbers (객체, 배열) . sort () (메소드);

 

넘버스에게 소트가 정렬을해라 라고 명령을 함 그럼 넘버안에 [] 대괄호 값을 출력

 

[20,10,9,8,7,6,5,4,3,2,1] 라고 출력이된다.

 

비동기 처리

글작성 - 이메일 발송 예약 3시간 - 작성 완료

'코딩 공부 > 생활 코딩' 카테고리의 다른 글

생활 코딩 - arguments  (0) 2021.08.18
생활 코딩 - 클로저  (0) 2021.08.18
생활 코딩 - 유효범위  (0) 2021.08.18
생활 코딩 - 객체  (4) 2021.08.17
생활 코딩 - 배열  (1) 2021.08.17
댓글
© 2022 chanchaning