본문 바로가기
JS

221229 JS this

this

js의 this는 java의 this와 다르다. 렉시칼스코프 때문

함수에서의 this->window라는 최상위 객체
이벤트에서의 this->자기자신

전역변수는 window에 선언됨. 따라서 위치에 따라 (this.전역변수)로 접근 가능

 

<!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>
    
    <h3>this의 의미</h3>

    <button id="btn">이벤트에서의 this</button>

    <script>
        //함수에서의 this->window라는 최상위 객체
        //이벤트에서의 this->자기자신

        var a=1;//전역변수 a는 window에 선언됨

        function aaa(){
            var a =10;//지역변수

            console.log(this);///window
            console.log(this.a);//1. 전역변수에 접근
            console.log(a);//10. 지역변수에 접근
        }
        aaa();

        var btn=document.getElementById("btn");
        btn.addEventListener("click",function(){
            console.log(this);//태그 자기 자신
        });



    </script>

</body>
</html>

'JS' 카테고리의 다른 글

221229 JS BOM &DOM  (0) 2022.12.29
221229 JS 이벤트핸들러 실습  (0) 2022.12.29
221229 JS 표준 이벤트 모델  (0) 2022.12.29
221229 JS 기본 이벤트 모델  (0) 2022.12.29
221229 JS 인라인 이벤트 모델  (0) 2022.12.29