본문 바로가기
생활코딩/javascript

공부정리_javascript(24~37강)

by Sharon kim 2021. 9. 12.

 

WEB2 JavaScript - 24.함수예고

함수는 (function) = 수납상자

WEB2 JavaScript - 25.함수

함수의 기본적인 문법
파라미터(parameter)와 아규먼트(argument)를 배우고
리턴(return)이라는 것을 배우면 함수 수업이 끝

<!doctype html>
<html>

<head>
    <meta charset=“utf-8”>
</head>

<body>
    <h1>Function</h1>
    <h2>Basic</h2>
    <ul>
        <script>
            function two() {
                document.write('<li>2-1</li>');
                document.write('<li>2-2</li>');
            }
            document.write('<li>1</li>'); two();
            document.write('<li>3</li>'); two(); 
        </script>
    </ul>
    <h2>Prameter&Argument</h2>
    <h2>Return</h2>
</body>

</html>

 

WEB2 JavaScript - 26.함수 : 매개변수와 인자

함수는 입력과 출력으로 이루어져 있는데
바로 그 입력에 해당되는 것이 'parameter,'
한국어로는 '매개변수,'
'argument,' 한국어로는 '인자'
그리고 출력은 'return'이라는 것과 관련

<!doctype html>
<html>

<head>
    <meta charset=“utf-8”>
</head>

<body>
    <h1>Function</h1>
    <h2>Basic</h2>
    <ul>
        <script> function two() { 
            document.write(‘<li>2-1</li>’); 
            document.write(‘<li>2-2</li>’); } 
            document.write(‘<li>1</li>’); two(); 
            document.write(‘<li>3</li>’); two(); 
            </script>
    </ul>
    <h2>Prameter&Argument</h2>
    <script> function onePlusone() {
            document.write(1 + !+’<br>’); 
            } onePlusone(); function sum{left, right}{
                document.write(left + right +’<br>’); 
            } sum(2,3); sum(3,4); //5 </script>
    //7 <h2>Return</h2>
</body>

</html>


여기서, 함수로 전달하는 2와 3이라는 값을 한국어로는 인자(argument)
그리고 이 값을 받아서 함수 안으로 매개해주는 변수들을 매개변수(parameter)

WEB2 JavaScript - 27.함수 (리턴)
<!doctype html>
<html>

<head>
    <meta charset=“utf-8”>
</head>

<body>
    <h1>Function</h1>
    <h2>Basic</h2>
    <ul>
        <script>
            function two() {
                document.write(‘<li>2-1</li>’);
                document.write(‘<li>2-2</li>’);
            }
            document.write(‘<li>1</li>’);
            two();
            document.write(‘<li>3</li>’);
            two(); 
        </script>
    </ul>
    <h2>Prameter&Argument</h2>
    <script> function onePlusone() {
            document.write(1 + !+’<br>’); 
            }
                onePlusone();
                function sum{left, right}{
                    document.write(left + right +’<br>’); 
                }
                        sum(2,3);
                        sum(3,4); //5 
    </script>//7
    <h2>Return</h2>
    <script> function sum2(left, right){
         return left+right; 
         }
        document.write(sum2(2,3)+’<br>’);
        document.write(‘<div style=“color:red”>’+sum2(2,3)+’</div>’);
        document.write(‘<div style=“font-size:3rem;”>’+sum2(2,3)+’’</div>’); 
    </script>
</body>

</html>

 

WEB2 JavaScript - 28.함수의 활용
<html>

<head>
    <title>WEB1 - JavaScript</title>
    <meta charset=“utf-8”>
    <script>
        function nightDayHandler(self)
        var target = document.querySelector('body');
        if (self.value === 'night') {
            target.style.backgroundColor = 'black';
            target.style.color = 'white';
            self.Value = 'day';
            var alist = document.querySelectorAll('a');
            var i = 0; while (i < alist.length) {
                alist[I].style.color = 'powerblue'; i = i + 1;
            }
        } else {
            target.style.backgroundColor = 'white';
            target.style.color = 'black'; self.value = 'night';
            var alist = document.querySelectorAll('a');
            var I = 0; while (i < alist.length) {
                alist[I].style.color = 'blue'; i = i + 1;
            }
        }  
    </script>
</head>

<body>
    <h1><a href=“index.html”>WEB</a></h1> 
    <input id=“night_day” type=“button” value=“night” 
    onclick="nightDayHandler(this);">
</body>

</html>

 

WEB2 JavaScript - 29.객체 예고

함수라는 것 기반 위에서 객체라고 하는 것이 존재. 우리가 프로그래밍을 하다보면 코드가 많아지고,
코드가 많아지면 코드를 잘 정리정돈하기 위해 우리는 함수라는 걸 쓴다.
함수가 또 많아지면, 그리고 함수뿐만 아니라 그 함수와 연관되어 있는 변수들이 엄청나게 많아지면
역시나 똑같이 복잡도의 한계에 도달.
바로 그러한 한계 상황에서 서로 연관된 함수와 서로 연관된 변수를 같은 이름으로 그룹핑해서 잘 정리정돈하기 위한 도구, 그것을 객체라고 함
출처 입력
객체에 속해 있는 함수는 함수라고 하지 않고 메소드(method)라고 부름

WEB2 JavaScript - 30.객체 쓰기와 읽기
<!doctype html>
<html>

<head>
    <meta charset=“utf-8”>
</head>

<body>
    <h1>object</h1>
    <h2>create</h2>
    <script> 
    var coworkers = {
         “programmer”:”egoing”, 
         “designer”:”leezche” 
         }; 
         document.write(“programmer : “+coworkers.programmer +”<br>”); 
         document.write(“designer : ”+coworkers.designer+”<br>”); 
         coworkers.bookkeeper = “duru”; 
         document.write(“bookkeeper : ”+coworkers.bookkeeper+”<br>”); 
         coworkers[“data scientist”] = “taeho”; 
         document.write(“data scientist : ” +coworkers[“data scientist”]+”<br>”); 
         </script>
</body>

</html>

 

WEB2 JavaScript - 31.객체와 반복문

검색 Javascript object iteration

<html>

<head>
    <meta charset=“utf-8”>
</head>

<body>
    <h1>object</h1>
    <h2>create</h2>
    <script> 
    var coworkers = { “programmer”:”egoing”, “designer”:”leezche” }; 
    document.write(“programmer : “+coworkers.programmer +”<br>”); 
    document.write(“designer : ”+coworkers.designer+”<br>”); 
    coworkers.bookkeeper = “duru”; 
    document.write(“bookkeeper : ”+coworkers.bookkeeper+”<br>”); 
    coworkers[“data scientist”] = “taeho”; 
    document.write(“data scientist : ” +coworkers[“data scientist”]+”<br>”); 
    </script>
    <h2>iterate</h2>
    <script> for </script>
</body>

</html>

 

WEB2 JavaScript - 31.객체와 반복문

객체의 데이터를 순회하는 방법

<html>

<head>
    <meta charset=“utf-8”>
</head>

<body>
    <h1>object</h1>
    <h2>create</h2>
    <script> 
    var coworkers = { “programmer”:”egoing”, “designer”:”leezche” };
    document.write(“programmer : “+coworkers.programmer +”<br>”); 
    document.write(“designer : ”+coworkers.designer+”<br>”); 
    coworkers.bookkeeper = “duru”; 
    document.write(“bookkeeper : ”+coworkers.bookkeeper+”<br>”); 
    coworkers[“data scientist”] = “taeho”; 
    document.write(“data scientist : ” +coworkers[“data scientist”]+”<br>”); 
    </script>
    <h2>iterate</h2>
    <script> for(var key in coworkers){
        document.write(key +’ : ’+coworkers[key]+’<br>’); 
        } //key ->egoing, leezche, duru, taeho가 나옴 
        //coworkers[key] ->programmer, designer, bookkeeper, data scientist가 나옴 
        </script>
</body>

</html>

 

WEB2 JavaScript - 32.객체프로퍼티와 메소드
<html>

<head>
    <meta charset=“utf-8”>
</head>

<body>
    <h1>object</h1>
    <h2>create</h2>
    <script>
        var coworkers = {
         “programmer”:”egoing”, “designer”:”leezche” 
         };
        document.write(“programmer : “+coworkers.programmer +”<br>”);
        document.write(“designer : ”+coworkers.designer+”<br>”);
        coworkers.bookkeeper = “duru”;
        document.write(“bookkeeper : ”+coworkers.bookkeeper+”<br>”);
        coworkers[“data scientist”] = “taeho”;
        document.write(“data scientist : ” +coworkers[“data scientist”]+”<br>”); 
    </script>
    <h2>iterate</h2>
    <script>
      for(var key in coworkers){
      document.write(key +’ : ’+coworkers[key]+’<br>’); 
      } 
    </script>
    <h2>property & method</h2>
    <script> 
    coworkers.showAll = function(){
         for(var key in this){document.write(key +’ : ’+this[key]+’<br>’); 
         } 
    }
        coworkers.showAll(); 
    </script>
</body>

</html>
<script> 
coworkers.showAll = function(){ } 
/*아래와 다 같은 것임 Var showAll = function(){ }*/ 
/*아래와 다 같은 것임 Function showAll(){ }*/ 
</script>

 

WEB2 JavaScript - 33.객체의 활용

※ 한번 더 보기

WEB2 JavaScript - 34.파일로 쪼개서 정리 정돈하기

가장 큰 정리정돈의 도구 기능, 서로 연관된 코드들을 파일로 묶어서 그룹핑하는 거
한번 웹페이지에, 웹브라우저에 다운로드된 이런 파일은 웹브라우저가 보통 컴퓨터에 저장:캐시(cache)
그리고 다음에 접속할 때 저장된 파일을 읽어서 네트워크를 통하지 않게 함.
그럼 서버 입장에서는 훨씬 더 비용을 절감할 수 있고 사용자 입장에서 네트워크 트래픽도 절감할 수 있고,
훨씬 더 빠르게 웹페이지를 화면에 표시할 수 있다라는 효과가 생기기 때문에 이렇게 파일로 쪼개는 것이 실제로
훨씬 더 효율적이고, 돈도 시간도 적게 드는 방법

WEB2 JavaScript - 35.라이브러리와 프레임워크


라이브러리는 소프트웨어를 만드는 내가 라이브러리를 당겨 와서 쓰는 느낌이라면

프레임워크는 프레임워크 안에 우리가 들어가서 작업하는 느낌

자바스크립트의 대표적인 라이브러리는 제이쿼리(jQuery)
둘 다 다른 사람과 협력하는 모델

CDN은 Content Delivery Network 자기들의 서버에다가 파일을 보관해놓고
우리는 그것을 script src를 통해서 가져갈 수 있도록 하는 방식.
jQuery는 새로운 언어가 아니고 JavaScript를 이용해서
우리 대신에 CSS라는 함수를 jQuery 만들어 둔 거

 

WEB2 JavaScript - 36.UI vs API

UI는 User Interface의 약자
API는 Application Programming Interface

애플리케이션을 만들기 위해서
프로그래밍을 할 때 사용하는 조작 장치들을
Application Programming Interface라고 부른다.

alert라는 것이 바로 Application Programming Interface, 줄여서 API인 것
이것은 JavaScript에 국한된 이야기가 아니고 모든 프로그래밍 언어에 공통적으로 적용되는 얘기다.
모든 애플리케이션들은 API를 프로그래밍적으로, 즉 순서대로 실행하는 것을 통해 만들어진다.
JavaScript라는 말하자면 접착제로, 본드로 이 API들을 결합해서, 다시 말해 응용해서
세상의 누구도 만들어 본 적이 없는 응용 프로그램을 만들 수 있게 된 것.

WEB2 JavaScript - 37.수업을 마치며

공부보다는 실습
여러분이 웹페이지에 있는 어떤 태그를 삭제하고 싶거나 어떤 태그에 자식 태그를 추가하고 싶다면
document 객체
ㄴ 필요한 메소드가 그 안에 포함되어 있을 것


만약에 document 객체를 통해서도 찾을 수 없다면
DOM으로 수색 범위를 넓혀 보라
DOM 객체, document 객체는 DOM의 일부


또 웹페이지가 아니라 웹브라우저 자체를 제어해야 한다면
window 객체를 보라
현재 열려있는 웹페이지 주소가 뭔지 알아내야 될 수도 있고
여러분이 새 창을 열어야 될 수도 있고,
또 웹브라우저의 화면 크기를 JavaScript를 통해 알아야 한다면
window 객체에 속해 있는 프로퍼티나 메소드가
여러분을 도울 수 있을 거


웹페이지를 리로드하지 않고 정보를 변경하고 싶다면
ajax
ㄴ현대적인 웹앱을 만드는 데 필수적인 테크닉


웹페이지가 리로드되어도 현재 상태를 유지하고 싶다면 cookie
사용자를 위한 개인화된 서비스를 제공할 수 있다.


인터넷에 끊겨도 동작하는 웹 페이지를 만들고 싶다
offline web application


화상 통신 웹 앱을 만들고 싶다구요?
webRTC


사용자의 음성을 인식하고 음성으로 정보를 전달하고 싶다면
speech로 시작하는 API들을 살펴 보라


3차원 그래픽으로 게임과 같은 것을 만들고 싶다
webGL을 살펴보라


가상현실에 관심이 많으시다구요?
그럼 webVR이라는 것도 있다

WEB2-JavaScript : Long take

※ 한번 더 보기


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

공부정리_javascript(1~23강)  (0) 2021.09.12