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 |
댓글