id 선택자로 접근

<!DOCTYPE html>
<html lang="en">
<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>Document</title>
</head>
<body>
    <div id="container">
        <h1 id="heading" style="color: aqua;">
            후미진언덕그어디
        </h1>
        <div id="prodImg"></div>
    </div>
    <script>
        // ID 선택자로 노드 접근 해보기 
        let node1 = document.getElementById("heading");
        console.log(node1); 
        console.log(node1.textContent); 
        let headingStyle =  node1.style;
        console.log(headingStyle.color); 
    </script>
</body>
</html>

class 선택자로 접근

<script>
  // getElementsByClassName 
  // HTML 컬렉션 타입으로 접근이 된다 !!! 
  // class 선택자로 노드 접근 해보기 
  let headingNode = document.getElementsByClassName("m--heading");
  console.log(headingNode[0].textContent);
  console.log(headingNode[0].style.color);
</script>

태그 선택자를 사용해서 노드 접근

<script>
    // getElementsByTagName 
    // HTML 컬렉션 타입으로 접근이 된다 !!! 
    // 태그 선택자로 노드 접근 해보기 
    let headingNode = document.getElementsByTagName("h1");
    console.log(headingNode);
    console.log(headingNode[0].textContent);
    console.log(headingNode[0].style.color);
</script>

querySelector 사용해서 노드에 접근하기

<body>
    <div id="container">
        <h1 id="heading" class="m--heading" style="color: aqua;">
            후미진언덕그어디그기억
        </h1>
        <h2>구름나드리</h2>
        <article>오늘날씨는좀그래</article>
    </div>
    <script>
        let divContainerNode = document.querySelector("#container");
        console.log(divContainerNode);
        let h1Node = divContainerNode.querySelector("h1");
        h1Node.textContent = "그늘진그언덕그어디";
        // 문제 : h2  노드에 접근해서 문자열 변경해 보기 
    </script>    
</body>

querySelectorAll 사용해서 노드에 접근하기

<body>
    <div id="container">
        <h1 id="heading" class="m--heading" style="color: brown;">
            후미진언덕그어디그기억
        </h1>
        <h2>구름나드리</h2>
        <article>오늘날씨는좀그래</article>
    </div>
    <script>
        let divContainerNode = document.querySelectorAll("#container");
        console.log(divContainerNode);
        // h1 태그에 문자열 변경 (divContainerNode 시작하기)
        divContainerNode[0]
        .querySelector("h1")
        .textContent = "힘내요~ 내일 휴무 하지만 과제 있습니다";
    </script>    
</body>

 

'JS' 카테고리의 다른 글

BOM  (0) 2023.05.08
이벤트 등록 처리  (0) 2023.05.04
문서 객체 모델  (0) 2023.05.04
배열  (0) 2023.05.04
객체  (0) 2023.05.04

DOM 트리

  • DOM은 웹 문서의 요소를 부모 요소와 자식 요소로 구분
  • 웹 문서 구조를 부모/자식 관계로 표시하면 나무를 꺼꾸로 뒤집어 놓은 모습 →DOM 트리

 

'JS' 카테고리의 다른 글

이벤트 등록 처리  (0) 2023.05.04
DOM 접근 기술  (0) 2023.05.04
배열  (0) 2023.05.04
객체  (0) 2023.05.04
마우스 클릭 이벤트 활용  (0) 2023.05.04
<!DOCTYPE html>
<html lang="en">
<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>Document</title>
</head>
<body>
    <script>
        let number = ["one", "two", "three", "four"]; // 리터럴을 사용한 배열 
        let number2 = new Array("one", "two", "three", "four") // Array 객체를 사용한 배열
        console.log(number.length);
        for(let i = 0; i < number2.length; i++) {
            console.log(number2[i]);
        }
    </script>
</body>
</html>

'JS' 카테고리의 다른 글

DOM 접근 기술  (0) 2023.05.04
문서 객체 모델  (0) 2023.05.04
객체  (0) 2023.05.04
마우스 클릭 이벤트 활용  (0) 2023.05.04
이벤트  (0) 2023.05.04
용어 
자바스크립트(JavaScript) VS 모던 자바스크립트(modern JavaScript) 

자바스크립트 
기존에 사용하던 웹 브라우저에서 실행되는 간단한 인터랙션 기능을 사용하게 한다. 

모던 자바스크립트 
모던 자바스크립트는 ES6(2015년) 버전 이후에 등장한 최신 버전에 자바스크립트를 이야기 합니다. 
기존의 자바 스크립트에 비해 많은 기능을 추가하고 개선

 

내장 객체(built-in object)

사용자 정의 객체 (스스로 생성)

 

내장 객체(built-in object)

  • 미리 정의 되어 있는 객체
  • 문서 객체 모델(DOM) 문서 뿐만 아니라 웹 문서안에 포함된 이미지, 링크, 텍스트, 필드 등 모두 객체로 관리 됩니다.

브라우저 객체 모델(BOM): 웹 브라우저에 정보를 객체로 관리

문서 객체 모델(DOM)과 브라우저 객체 모델(BOM)은 모두 자바스크립트에서 사용할 수 있는 미리 정의된
내장 객체(built-in object) 중의 하나 입니다.

DOM은 HTML, XML 등의 웹 문서의 내용과 구조를 객체로 관리하는 반면에 BOM은 
웹 브라우저의 창, 화면, URL 등과 같은 브라우저 정보를 객체로 관리합니다

DOM과 BOM은 각각의 역할이 다르며, 자바스크립트로 웹 페이지를 다양하게 조작하기 위해 
둘 다 사용되어야 합니다.
<script>
    // 사용자 정의 객체 
    // 관례상 객체를 대문자 표기해 준다. 
    function Person(name, age, gender) {
        this.name = name; 
        this.age = age; 
        this.gender = gender;
    }
    
    const personKim = new Person('킴', 30, 'male');
    console.log(personKim);
    console.log(personKim.name);
</script>
<script>
    // 일반 함수에 형태 
    function calc(n1, n2) {
        return n1 + n2; 
    }
    // 사용하는 모양 
    let result = calc(200, 200);
    console.log(result);
</script>
<script>
    // 모던 자바 스크립트 객체 프로토 타입 
    class Student {
        constructor(name) {
            this.name = name;
        }
        sayHi() {
            alert(this.name);
        }     
    }
    // 사용하는 모습 
    let student = new Student("John");
    student.sayHi();
</script>

'JS' 카테고리의 다른 글

문서 객체 모델  (0) 2023.05.04
배열  (0) 2023.05.04
마우스 클릭 이벤트 활용  (0) 2023.05.04
이벤트  (0) 2023.05.04
함수  (0) 2023.05.04
<!DOCTYPE html>
<html lang="en">
<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>Document</title>
    <style>
        .container{
            position: relative;
            width: 200px;
            height: 300px;
        }
        .btn{
            position: absolute;
            bottom: 10px;
            left: 10px;
            background-color: rgba(255, 255, 255, 0.5);
            border: none;
            padding: 10px;
            color: #000;
            font-size: 16px;
        }

    </style>
</head>
<body>
    <div class="container">
        <img src="https://picsum.photos/id/237/200/300" alt="">
        <button onclick="showDetail()" class="btn">상세 보기 열기</button>
        <br>
        <div id="desc" style="display: none;">
            <h1>귀염뽀짝 강아지</h1>
            <div>귀염 귀염</div>
            <button onclick="hideDetail()">상세 보기 닫기</button>
        </div>
    </div>
    <script>
        //함수 1
        function showDetail(){
            document.querySelector("#desc").style.display = "block";
            document.querySelector(".btn").style.display = "none";

        }
        function hideDetail(){
            document.querySelector("#desc").style.display = "none";
            document.querySelector(".btn").style.display = "block";
        }

        //함수 2
    </script>
</body>
</html>

'JS' 카테고리의 다른 글

배열  (0) 2023.05.04
객체  (0) 2023.05.04
이벤트  (0) 2023.05.04
함수  (0) 2023.05.04
연산자  (0) 2023.05.04

마우스 이벤트

키보드 이벤트

폼 이벤트

문서 로딩 이벤트

 

'JS' 카테고리의 다른 글

객체  (0) 2023.05.04
마우스 클릭 이벤트 활용  (0) 2023.05.04
함수  (0) 2023.05.04
연산자  (0) 2023.05.04
자료형  (0) 2023.05.04

함수 선언(함수정의)

function 예약어를 사용하고, { } 안에 실행해야 할 명령어를 작성

함수 호출(함수 실행)

함수 이름을 사용해서 함수를 실행

함수 선언은 어디에 두어야 할까.

addNumber(); 

function addNumber {
	....
}

addNumber();

함수 호출 시  HTML 요소 중 렌더링이 완료 되기 전에 호출하는 코드를 실행 한다면 
요소를 찾을 수 없어 오류가 발생 합니다.

let 과 const

let - 프로그램 안에 값이 변할 수 있는 변수

const - 프로그램 안에서 값이 변하지 않는 변수

 

변수의 스코프

호이스팅 없음

변수의 재선언 불가 - 같은 스코프 안에 같은 변수를 다시 선언할 수 없음

 

매개변수(parameter) 와 인수(argument) 차이점

매개변수 
- 함수를 실행하기 위해 필요하다고 지정하는 값 
- 함수를 선언할 때 함수 이름 옆의 괄호 안에 매개변수 이름을 넣음 
function addNumber(a, b) {
	let sum = a + b; 
  return sum;
}
인수(argument) 
- 함수를 실행하기 위해 필요하다고 지정하는 값 
- 함수를 실행 할때 매개변수로 넘겨주는 값
addNumber(19, 10);

익명 함수

이름이 없는 함수 
함수 자체가 식(Expression) 이기 때문에 함수를 변수에 할당하거나 함수의 매개변수로 
사용할 수 도 있음  (일급 객체)


<script>
    let add = function(a, b) {
        return a + b; 
    }
    console.log(add); // add는  함수 자체가 식(표현식) 이다  
    console.log(add(10, 10)); // 함수 호출은 괄호 + 모양 맞추기
    console.log(add(20, 20));
</script>

즉시 실행 함수

<script>
    // 즉시 실행 함수 
    let result2 = (function() {
        return 10 + 10; 
    })();
    console.log(result2);
    // console.log(result2());
    // 즉시 함수가 실행 되었기 때문에
    // result2 함수식이 아니라 변수에 값이 담긴 상태
</script>

화살표 함수

ES6 이후 버전에서 = > 표기법을 사용해서 함수 선언을 간단하게 작성

<!DOCTYPE html>
<html lang="en">
<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>Document</title>
</head>
<body>
    <script>
        const hi = function(){
            return "반가워";
        }
        console.log(hi);
        console.log(hi());
        console.log("----------")
        const hi2 = () => {return "야 반가워"}
        console.log(hi2);
        console.log(hi2());
        /*
            화살표 함수를 사용할때 리턴 키워드에 생략 여부
            const hi2 = () => {return "야 반가워"}
            const hi2 = () => "야 반가워";
            let sum = (a,b) => {return a+b}
            let sum = (a,b) => a+b;
        */
        let ms = () => {return "반가워"}
        let ms2 = () => "반가워2"
        let sum = (a,b) => {return a + b}
        let sum2 = (a,b) => a + b
        console.log(ms);
        console.log(ms());
        console.log(ms2);
        console.log(ms2());
        console.log(sum);
        console.log(sum(20,30));
        console.log(sum2);
        console.log(sum2(10,20));
    </script>
</body>
</html>

'JS' 카테고리의 다른 글

마우스 클릭 이벤트 활용  (0) 2023.05.04
이벤트  (0) 2023.05.04
연산자  (0) 2023.05.04
자료형  (0) 2023.05.04
js 소스를 작성 할 때 지켜야 할 규칙  (0) 2023.05.04

형변환

숫자형과 문자형을 더하면 숫자를 문자열로 인식함 곱하기나 나누기,

나머지 연산에서는 문자형 자료를 모두 숫자로 자동 인식함

 

비교 연산자

두 값을 비교하여 true나 false로 결괏값을 내놓는 연산자

논리 연산자

true와 false를 피연산자로 연산자 부울 연산자,

또는 불리언 연산자라고도 함

 

'JS' 카테고리의 다른 글

이벤트  (0) 2023.05.04
함수  (0) 2023.05.04
자료형  (0) 2023.05.04
js 소스를 작성 할 때 지켜야 할 규칙  (0) 2023.05.04
JS 기본 정리  (0) 2023.05.04

+ Recent posts