본문 바로가기
javaScript

일반 함수 안에서 this

by mooyou 2023. 8. 6.
728x90
300x250
var value = 10;

function execute() {
    this.value = 20;
    value = 30;

    document.write("1. value = " + value, "<br>");
    document.write("2. this.value = " + this.value, "<br>");
    document.write("3. window.value = " + window.value, "<br>");
}

execute();

 

실행결과

1. value = 30

2. this.value = 30

3. window.value = 30

 

일반함수 내부에 있는 this는 전역객체인 window가 저장된다. 즉 this.value는 window.value와 같은 의미이다.

즉 전역 객체인 value에 20이 저장되게 된다.

그 뒤에 value = 30;  이 실행되면 먼저 지역변수 내부에서 value를 찾고 없으면 excute()함수를 호출한 영역에서 찾게 된다. 내부에 선언된 value 변수가 없기때문에 이 구문도 마찬가지로 전역변수인 value를 가르킨다.

즉 value에는 30이 저장되고

결과 값은 모두 같다.

 

 

 

728x90
반응형

'javaScript' 카테고리의 다른 글

중첩 함수 안에서 this  (0) 2023.08.09
javaScript call() 메서드  (0) 2023.08.08
class에서 this  (0) 2023.08.05
db연결된 태그 영문과 한글 글자 간격 다르게 적용  (0) 2023.08.03
프로토타입 방식 클래스  (0) 2023.06.16

댓글