24일(2022.01.21 6시간 33분) Prep Guide STEP 4 Backgorund Changer ~day1

roadzmoon76·2022년 1월 21일
0

매일 공부

목록 보기
25/217

제일 작은 수 제거하기

https://programmers.co.kr/learn/courses/30/lessons/12935

function solution(arr) {
    var answer = [];
    let smallNum = arr[0];
    let smallNumIndex = 0;
    
    if (arr.length === 1) {
        answer = [-1];
    } else {
        for (let i = 1; i<arr.length; i++) {
            if (arr[i] - smallNum < 0) {
                smallNum = arr[i];
                smallNumIndex = i;
            }
        } arr.splice(smallNumIndex, 1);
        answer = arr;
    }
    
    return answer;
}
  • 처음에 answer = arr.splice를 해서 잘려간 배열이 answer로 등록이 되게하는 실수를 했다. 잘려나간후의 남은 배열이 answer가 되게하기위하여 arr.splice(smallNumIndex, 1); 을 먼저 해주고 answer = arr; 을 써줬다

Prep Guide STEP 4 Events

event.target은 부모로부터 이벤트가 전해져 발생하는 자식 요소를 반환한다.
하지만 currentTarget은 이벤트가 부착된 요소의 위치, 즉 부모 요소를 반환한다.

  • 모든 dom element에는 addEventListener라는 method가 있다. 인자는 일반적으로 2개, 3개까지도 가능은 함
    첫번째 인자는 이벤트 타입 이름이라 하고, 두번째 인자로 주어지는 함수는 이벤트 핸들러 혹은 이벤트 리스너 라고 함
    addEventListener('이벤트이름', function () {} );
    이 요소에 이 '이벤트'가 발생했을때 이 '함수'가 실행
    이벤트 핸들러에는 ()에 매개변수, 인자로 들어오는 객체가 있음. 이걸 흔히 이벤트 객체라고 함
    이름은 내맘대로 지어도되나 결국엔 같은 녀석임

  • textContent : 해당 요소의 텍스트에 접근

숫자 맞추기 게임

chanceArea.textContent = "남은 기회 : chances 번";

이런식으로 하면 chance값이 변할때마다 카운트가 뜨는게 아니라 "남은 기회 : chance 번" 이라는 문장이 항상 프린트 된다.
정적인 값과 동적인 값을 같이 넣어주고 싶을 땐 약간 다른 문법을 써줘야함
""는 정적인 값만 쓸 수 있다
``을 사용하면 정적인 값과 동적인 값을 같이 쓸 수 있다.

chanceArea.textContent = `남은 기회 : ${chances} 번`;

혹은

chanceArea.textContent = "남은 기회 " + chances + "번";
  • 아무 값도 쓰지않고 return;만 써주면 함수가 종료됨

  • 숫자입력박스에 마우스를 올리면 기존 숫자가 지워지게 하기

    	userInput.addEventListener("focus", function () {userInput.value=""})

    한번만 쓰고 말 함수이기 때문에 위와같이 익명의 함수를 바로 사용해도됨
    선언하면 메모리만 차지하므로

Prep Guide STEP 4 Backgorund Changer

Day1까지 함

코어자바스크립트 ~21쪽

profile
크론병걸린 자퇴생, 개발자되기

0개의 댓글