새싹🌱

0704 4회차

idleday 2022. 7. 5. 00:55

💡JS-객체

 

❓ 


 

 

언어타입

  • 강한 타입 언어
    • 타입 검사 통과 못하면 실행X
    • int, double 등 타입 하나 지정
  • 약한 타입 언어

JS 자료형

Primitive(기본 자료형)

  1. Boolean
  2. Number - 정수, 부동소수점, 무한대 및 NaN
  3. String
  4. Null - 값X 타입O
  5. Undefined 타입X

🌟Object(객체 자료형, 참조 자료형)

  • 클래스, 배열, 함수

객체란?

실제 인식할 수 있는 사물

속성: 이름, 나이

메소드: mew(), eat()

객체자료형 - 배열, 딕셔너리

  1. 배열인덱스: 0부터 시작
    • arr.length
    • arr.push(+추가)
    • arr.unshift(추가+)
    • arr.pop(-제거)
    • arr.shift(제거-)
    • arr.indexOf(검색값) 인덱스 출력
  2. var arr1=[]; var arr2=new Array();
  3. 숫자, 문자 혼용O
  4. 딕셔너리
    var me = {
    	name: '이름',
    	birth: '1115',
    };
    
    me['gender'] = 'F';
    console.log(me['gender']);
    
  5. 키-’값’ 형태로 저장

자료형 확인 typeof()

참조방식

https://think0wise.tistory.com/65

기본자료형 → Call by Value

다른 변수에 값 할당, 함수 인자 넘길 때 값 복사

객체 자료형 → Call by Sharing

참조값(객체 주소값)의 복사본을 전달

형 변환

→ 문자

  1. String()
  2. 값.toString();

→ 정수

  1. Number()
  2. Number(true) //1
  3. parseInt();

JS 표준 객체

대표 객체 - 함수

Date

since 1970년 1월 1일 00:00(UTC)

var date =new Date();
console.log(date);
date.getFullYear()
date.getYear()  //UTC
date.getMonth() //index
****date.getDate()
date.getDay()
date.getTime()  //UTC
date.getHours()

Math

생성자X

웹브라우저마다 상이할 가능성O

console.log(Math.min());  //매개변수x : Infinity
console.log(Math.min(-10,2,"문자")); //비교X : NaN
Math.min()
Math.max()

Math.random() //1~100
Math.random()*(max-min)+min; //난수범위 지정

Math.round()  //반올림
Math.ceil()
Math.floor()

DOM

문서 객체 모델 (=Document Object Model)

→ HTML 요소에 접근해서 구조 파악

  • 웹페이지에 대한 인터페이스
  • HTML 각 항목을 계층(=트리)으로 표현하여 생성, 변형, 삭제할 수 있도록 돕는 인터페이스
  • HTML보다 상위에 존재

속성

  • document.documentElement
  • document.head
  • document.title
  • document.body

<script> 태그 위치?

스크립트 실행순서, 브라우저 렌더링

  • <head> → 로딩 지연 (HTML 파싱 중단)
  • <body>
  • 참고
    • parsing : 해당 언어의 문법 검사기, 코드로 변환
    • 브라우저 동작방식
      1. HTML 읽기
      2. HTML 파싱
      3. DOM 트리 생성
      4. Render 트리 생성 (DOM트리 + CSS의 CSSOM 트리)
      5. 브라우저 표시
  • https://velog.io/@miyoni/TIL15

요소 선택

동적으로 요소 선택, 변화

document.getElementsByTagName();
document.getElementById();
document.querySelectorAll (선택자)
document.getElementsByName (name 속성값)

document.getElementsByClassName();
//ClassName 지정만 좀 다름 

var p = document.creteElement("p");
	p.innerText = "p태그";
	p.className = "text";

var child = document.getElementsByClassName("text");

child[0].remove(); //배열로 요소 선택
//console.log(child[0]);  
//div1.removeChild(child[0]);
document.createElement("p");   //요소 생성
document.write("<h1>안녕</h1>") //새문서 작성

div1.appendChild(img);      //부모요소 안에 자식요소 추가
div1.removeChild(child[0]); //배열이라 child만 삭제X

'새싹🌱' 카테고리의 다른 글

0708 6회차  (2) 2022.07.09
0706 5회차  (0) 2022.07.07
[WIL] 1주차  (0) 2022.07.04
0701 3회차  (0) 2022.07.02
0629 2회차  (0) 2022.06.30