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 |