728x90
반응형
728x90
반응형
<!DOCTYPE html>
<html lang="ko">
    <head>
        <title>조건문</title>
            <meta charset="UTF-8">
            <script>
                /*
                { ... } : 구현부

                if(조건) {
                    //조건이 참일떄
                } else {
                    // 조건이 거짓일떄
                }



                // else-if 문은 여러번추가될 수 있고 그 어떤 경우에도 else 보다 먼저 나와야 한다.
                if(조건) {
                    //조건이 참일떄
                } else if (조건2...) {
                    // 조건2가 참일때
                }
                } else {
                    // 조건1과 조건2가 모두 거짓일때
                }


                */
               

                /*
                switch (변수) {
                    case 값1:
                        break;
                    case 값2:
                        break;
                    ...
                    default:
                }
                */
                /* 모든 if는 switch로 변환 o*/
                /* 모든 swutch는 if로 변환 x*/
               
                let letter = 'a';
                switch(letter) {
                    case 'a':
                        console.log('에이');
                        break;

                }


                let start = 2;
                switch(start) {
                    case 1:
                        console.log('첫번째 도미노 무너짐');
                    case 2:
                        console.log('두번째 도미노 무너짐');
                    case 3:
                        console.log('세번째 도미노 무너짐');
                    case 4:
                        console.log('네번째 도미노 무너짐');
                    case 5:
                        console.log('다섯번째 도미노 무너짐');
                }


                // 삼항식
                // (조건) ? (참 값) : (거짓 값)
                let n = 5;
                let result = n % 2 === 0 ? '짝수' : '홀수';
                console.log(result);
               
                if (n % 2 === 0) {
                    result = '짝수';
                } else {
                    result = '홀수';
                }
                console.log(result);

            </script>
    </head>
    <body>

    </body>
</html>
728x90
반응형

'코딩일지 > WEB' 카테고리의 다른 글

HTML간단한 입력칸  (0) 2022.12.25
함수(let)  (2) 2022.12.25
이벤트(addEventListener)  (0) 2022.12.25
요소선택  (2) 2022.12.25
오브젝트(키-값)  (0) 2022.12.25
728x90
반응형
<!DOCTYPE html>
<html lang="ko">
    <head>
        <title>이벤트</title>
            <meta charset="UTF-8">
            <meta http-equiv="x-uv-compatible">
    </head>
    <body>
        <div id="button">Click!</div>
        <script>
            // 선택된 요소 .addEventListener(이벤트 종료, 함수)
            let buttonElement = window.document.getElementById('button');
            buttonElement.addEventListener('click', () => {
                alert('hello');
                // alert('hello');
                // alert(x); x라는 내용을 가지는 메세지 출력
                if (confirm('Really?')) {
                    alert('yes');
                    // confirm(x) x라는 내용을 가지는 메세지를 출력하나 [확인]클릭시 true, [취소]클릭시 false를 반환한다.
                     }
                else{
                    alert('no');
                }
            });


        </script>
    </body>
</html>
728x90
반응형

'코딩일지 > WEB' 카테고리의 다른 글

함수(let)  (2) 2022.12.25
조건문  (0) 2022.12.25
요소선택  (2) 2022.12.25
오브젝트(키-값)  (0) 2022.12.25
연산자  (0) 2022.12.25
728x90
반응형
<!DOCTYPE html>
<html lang="ko">
    <head>
        <title>요소선택</title>
            <meta charset="UTF-8">
    </head>
            <body>
        <!--
            id 속성 값은 스타일링 목적을 사용 x (참고로 css선택자는#)
            주로 javascript에서 요소를 선택하기 위해 사용
            한 문서 내에 같은 이름을 가지는 id가 중복되면 안된다.
        -->
        <a id="message">Hi!</a>
        <br>
        <a>hello?</a>
        <br>
        <a>Bye</a>
        <script>
            // window : 브라우저 그 자체
            // document(혹은 window.docurment) : html 태그
            // id로 요소 선택
            // window.document.getelementById(id값)
            // id값을 id 속성 값을 가지는 요소를 변수로 반환한다.
            window.document.getElementById('message').innerText = 'Changed';
            message.style.color = 'red;'
            message.style.background

            // null의 속성을 지정할 수 없다.('innertText'지정 중)
            // something.some();// some 이라는 메서드 함수
            // something.some; //some 이라는 속성
            // innerText 속성: 선택된 요소의 내부 텍스트 내용을 지정한다.
            // innerHTML 속성: 선택된 요소의 내부 HTML 내용을 지정한다.
            // style 속성 선택된 요소의 css 속성을 변경한다. 단, 케밥 케이싱되어 있는 css 속성이름을 카멜케이싱해야한다.
            // message.remove();
            //remove 메서드 : 선택된 요소를 제거한다.

            // css 선택자로 요소를 선택
            // 어떠한 부모/선조 요소.querySelector(css선택자)
            // css 선택자에 부합하는 요소를 한 개만 선택한다. 단 이때 이는 반드시 앞서 나온요소의 자식이거나 자손이다.
            let second = window.document.body.querySelector('a:nth-of-type(2)');
            second.innerText = 'i am second element'
       
            // css 선택자로 요소들을 선택
            // 어떠한 부모/선조 요소.querySelectorAll(css선택자)
            // 이떄 반환되는 타입은 Array 아니고 NodeList임.(비슷함)
            // NodeList를 Array로 바꾸기 위해서는 Array.from()를 사용한다.
            let anchors = window.document.body.querySelectorAll('a');
            console.log(anchors.length);
            // anchors.forEach(x => {
            //     x.innerText = 'changed!'
            // })


       
       
        </script>
    </body>
</html>
728x90
반응형

'코딩일지 > WEB' 카테고리의 다른 글

조건문  (0) 2022.12.25
이벤트(addEventListener)  (0) 2022.12.25
오브젝트(키-값)  (0) 2022.12.25
연산자  (0) 2022.12.25
변수  (0) 2022.12.25
728x90
반응형
<!DOCTYPE html>
<html lang="ko">
    <head>
        <title>오브젝트</title>
            <meta charset="UTF-8">
            <script>
                // 오브젝트 : 키-값 쌍으로 이루어진 것(HashMap 이랑 비슷)
                // 키는 항상 문자열! 숫자 불가, 쌍/홑따옴표 생략 가능  
                // 키와 값은(:)으로 구분한다.
                let students = {
                    김학생:'kim',
                    이학생:'Lee',
                    박학생:'Park'
                };
                console.log(students['김학생']); //kim
                console.log(students.이학생); //Lee
               
                //쌍 추가
                students.최학생 = 'Choi';
                //students['최학생'] = 'Choi';
               
                //쌍 수정
                students.박학생 = 'Bak';
               
                // 쌍 삭제
                delete students.최학생;

                // 키 배열
                let keys = Object.keys(students); //['김학생', '이학생', '박학생']
                console.log(keys);
                console.log('------');

                keys.forEach(key => {
                    console.log(students[key]);
                });

               
               
               
                Object.keys(students).forEach(key => {
                    console.log(students[key]);
                })


                //값 배열
                Object.values(students); //[ 'Kim', 'Lee', 'Bak']

            </script>
    </head>
    <body>

    </body>
</html>
728x90
반응형

'코딩일지 > WEB' 카테고리의 다른 글

이벤트(addEventListener)  (0) 2022.12.25
요소선택  (2) 2022.12.25
연산자  (0) 2022.12.25
변수  (0) 2022.12.25
배열  (0) 2022.12.25
728x90
반응형
<!DOCTYPE html>
<html lang="ko">
    <head>
        <title>JS : 연산자</title>
            <meta charset="UTF-8">
            <script>
                // 할당 연산자
                let a;
                a = 5; // 할당 연산자. a = b 꼴에서 b값을 a에 대입(할당)한다.

                // 더하기 연산자
               
                a = 5 + 5; // 할당 연사자의 우선순위는 최하위로 우측 피연산자의 연산이 모두 완료된 뒤 좌측 피연산자에 할당한다. 즉, a = b 꼴에서 b에 해당하는 연산을 모두 끝낸 뒤 a에 대입한다는 뜻.

                // 더하기 할당 연산자(복합대입연산)
                a += 5; // a = a + 5 와 동일한 결과를 가짐.


                // 뺴기 연산자
                a = 5 - 5;
                a -= 5; // a = a - 5;

                //나누기 연산자
                a = 5 / 5;
                a /= 5; // a = a / 5;

                //나머지 연산자
                a = 5 % 5;
                a %= 5; // a = a % 5;

                // 비교 연산자
                // 동등 (비교) 연산자
                //  a == b 꼴은 a와 b가 같은가에 대한 여부를 반환하며 형이 다르더라도 형변환을 통해 비교할 수 있을 경우 형변환 후 비교한다. 이는 부등(비교) 연사자에도 동일하게 적용된다.
                console.log(5==5); // true : 참
                console.log(5==5); // false : 거짓
                console.log(5=="5"); // true : 참
                console.log(5=="3"); // false : 거짓
                console.log(5=="3"); // true : 참. JS

                // 부등(비교) 연산자
                // a != b
                console.log('----');
                console.log(5 != 5); // false : 거짓
                console.log(5 != '5'); // flase : 거짓


                // 일치(비교) 연산자
                // a === b
                console.log('-----');
                console.log(5 === 5); // true : 참
                console.log(5 === '5'); // flase : 거짓

                // 불일치 (비교) 연산자
                //  a !== b
                console.log(5 !== '5'); // true : 참
                console.log(5 !== 5); // flase : 거짓


                // 초과 (비교) 연산자
                //  a > b 꼴에서 a가 b보다 큰가에 대한 여부를 반환한다. 이 때 초과/이상/미만/이하 연산자 모두각 피연산자의 타입이 동일해야 한다.
                console.log(5>3); // true
                //  이상(>=), 미만(<), 이하(<=) 생략


                // 증가 연산자
                // a++ 혹은 ++a 꼴로 이용.
                // a++는 외부 구문을 실행 한 뒤 증가시킨다
                // ++a 는 외부 구문을 실행하기 전 증가시킨다.
                let pp = 5;
                console.log(pp++);//5 출력
                console.log(++pp);//7 출력

                // 감소 연산자
                // a-- 혹은 --a 꼴로 이용.
                let mm = 5;
                console.log(pp--);//5 출력
                console.log(--pp);//3 출력

                // 거듭제곱 연산자
                // a ** b 꼴에서 a의 b승을 반환다.
                console.log('-----');
                console.log(2 ** 3);

                //and 연산
                // a && b 꼴에서 a조건과 b조건 모두 참일 때 참을, 아니라면 거짓을 반환한다.
                console.log(5 == 5 && 3 > 1); //true
                console.log(5 > 1 && 1 > 5); //false

                //or 연산
                // a || b 꼴에서 a조건과 b조건 중 하나 이상이 참일 때 참을, 아니라면 거짓을 반환한다.
                console.log(5 == 5 && 3 > 1); //true
                console.log(5 > 1 && 1 > 5); //false
                console.log(1 > 100 || 5 < 5); //false

                // 부정
                // !a 꼴에서 a조건의 결과를 부정(true 를 false로 , false를 true로)한다.
                console.log('-----');
                console.log(!true);
                console.log(!true);

            </script>
    </head>
    <body>

    </body>
</html>
728x90
반응형

'코딩일지 > WEB' 카테고리의 다른 글

요소선택  (2) 2022.12.25
오브젝트(키-값)  (0) 2022.12.25
변수  (0) 2022.12.25
배열  (0) 2022.12.25
for(반복문)  (0) 2022.12.25
728x90
반응형
<!DOCTYPE html>
<html lang="ko">
    <head>
        <title>변수</title>
            <meta charset="UTF-8">
            <script>
                // 실행점 :
                // int main(void); public static void main(String[] args) {}
                // Javascript : 실행점을 위한 메서드가 없음
                // let 번수이름;
                // let 변수1 = '문자열';
                // let 변수2 = "문자열";
                // let 변수3 = `문자열`; //백틱(`)
                // let 변수4 = 5;
                // let 변수5 = true;
                console.log('Hello');

                let messagr = 'Hello World';
                console.log(messagr);

                messagr = 'Another value';
                console.log(messagr);

                // let massage; // 오류 발생. 동일한 이름의 변수 선언 불가.


                const pi = 3.141592;
                console.log(pi);

                // pi =123; // 오류 발생. 상수에 값을 제할당 할 수 없다.
                // const let = 5; //오류 발생. 약속된 키워드를 변수/상수 이름으로 사용할 수 없다.
            </script>
    </head>
    <body>

    </body>
</html>
728x90
반응형

'코딩일지 > WEB' 카테고리의 다른 글

오브젝트(키-값)  (0) 2022.12.25
연산자  (0) 2022.12.25
배열  (0) 2022.12.25
for(반복문)  (0) 2022.12.25
transition(CSS속성 변환 시간제어)  (0) 2022.12.24
728x90
반응형
// 배열(Array) : 하나의 변수에 여러개의 값을 넣기 위해 사용
                let emptyArr = [];
                // int[] aa = new int[] {};
                let arr = [1, 2, 3, 4, 5];
                // arr.length; : 배열의 길이(개수)를 반환한다.
               
                // arr.at(1); //2반환. 주어진 인덱스에 해당하는 아이템을 반환한다.
                // arr[1] : 위와 동일
                // arr.indexOf(3); // 2 . 주어진 값과 같은 아이템의 인덱스를 반환한다. 일치하는 아이템이 없다면 -1을 반환한다.

                // arr.pop(); //5. 배열의 마지막 값을 반환하고 배열에서는 삭제한다.
                // arr.push(6); // 배열의 마지막 자리에 주어진 값을 추가한다.
                // arr.slice(a, b); // 배열의 a번 인덱스 부터 b번 인덱스 까지의 값들을 가지는 새로운 배열을 반환한다.
                // arr.splice(a, b, c,....); //배열의 a번 인덱스 자리에 b 개에 해당하는 아이템을 c... 값으로 치환한다. 이때 b가 0이면 치환하지 않고 추가한다. 가령 [1, 2, 5].splice(1, 0, 2, 3)은 [1, 2, 3, 4, 5] 추가로, c...를 전달하지 않는다면 a자리 부터 b개에 해당하는 아이템을 삭제한다.


                // arr.every(f); // 메서드가 호출되는 대상 배열의 아이템을 순차적으로 전달된 함수 f의 전달 인자로 활용하여 모든 아이템이 함수 f에 대해 참을 반환하는 가에 대한 여부를 반환
                                      // 익명함수(Anonymous Function) : 이름없는 함수
                                      // 판별함수
                console.log( arr.every(x => x > 0)); //true
                console.log( arr.every(x => x > 0)); //true

                console.log(arr.every((x) => {
                    return x > 0;
                }));

           
                // arr.filter(f); // arr 배열의 각 아이템을 매개변수로 받는 함수 f에 대해 참을 반환하는 아이템만 가지는 새로운 배열을 반환한다.
                console.log(arr.filter(x => x > 3)); //[4, 5]
                console.log(arr.filter(x => x < 0)); //[]
               
               
                // arr.forRach(f); // arr 배열의 각 아이템을 반복한다. 반환값 없음.
                arr.forEach(x => console.log(x)); // 1, 2, 3, 4, 5
                // for (let i =0; i < arr.length; i++)[
                // console.log(arr[i]);
                // }

                // arr.map(f); // 함수 f에 대해 arr 아이템을 전달하여 반환되는 새로운 값을 가지는 새로운 배열을 반환한다. 이 떄 arr과 새로 반환된 배열의 길이는 항상 같다

                console.log(arr.map(x => x * 2)); //[2, 4, 6, 8, 10]
                console.log(arr.map(x => x**2)); //[1, 4, 9, 16, 25]
728x90
반응형

'코딩일지 > WEB' 카테고리의 다른 글

연산자  (0) 2022.12.25
변수  (0) 2022.12.25
for(반복문)  (0) 2022.12.25
transition(CSS속성 변환 시간제어)  (0) 2022.12.24
transform(요소의 형태나 위치를 변환)  (2) 2022.12.24
728x90
반응형
<!DOCTYPE html>
<html lang="ko">
    <head>
        <title>반복</title>
            <meta charset="UTF-8">
            <script>
                for (let i = 0; i < 10; i++) {
                   
                    console.log(i);
                }
            </script>
    </head>
    <body>

    </body>
</html>

 

728x90
반응형

'코딩일지 > WEB' 카테고리의 다른 글

변수  (0) 2022.12.25
배열  (0) 2022.12.25
transition(CSS속성 변환 시간제어)  (0) 2022.12.24
transform(요소의 형태나 위치를 변환)  (2) 2022.12.24
padding(외부 여백)  (0) 2022.12.24

+ Recent posts

728x90
반응형
">