minstory

night/day button Refactoring 본문

Javascript

night/day button Refactoring

mjuu 2019. 11. 22. 19:13
<input id="night_day" type="button" value="change to night" onclick="
    if(document.querySelector('#night_day').value === 'change to night') {
        document.querySelector('body').style.backgroundColor='black';
        document.querySelector('body').style.color='white';
        document.querySelector('#night_day').value = 'change to day';
    } else {
        document.querySelector('body').style.backgroundColor='white';
        document.querySelector('body').style.color='black';
        document.querySelector('#night_day').value = 'change to night'; 
    }
">

onclick과 같은 이벤트 안에서 실행되는 코드에서는

현재 코드가 속해 있는 태그를 가리키도록 약속돼 있는 특수한 키워드를 사용한다. -> this 키워드

 

변수 사용 var target = document.querySelector('body');

 

 

↓ refectoring

 

<input type="button" value="change to night" onclick="
    var target = document.querySelector('body');
    if(this.value === 'change to night') {
        target.style.backgroundColor='black';
        target.style.color='white';
        this.value = 'change to day';
    } else {
        target.style.backgroundColor='white';
        target.style.color='black';
        this.value = 'change to night'; 
    }
">

'Javascript' 카테고리의 다른 글

data type  (0) 2022.09.17
Javascript 함수  (0) 2020.01.04
Javascript 객체  (0) 2020.01.04
Javascript 연산자  (0) 2020.01.04
Javascript 기초  (0) 2019.11.19
Comments