JavaScript this 대상 의 요약

1652 단어
this 키 워드 는 함 수 를 대상 으로 하 는 방법 이 호출 되 었 을 때의 대상 을 인용 합 니 다.
변수 와 달리 키워드 this 는 역할 영역 에 대한 제한 이 없습니다. 포 함 된 통신 교육 은 호출 함수 에서 this 를 계승 하지 않 습 니 다.만약 끼 워 넣 는 함수 가 방법 으로 호출 된다 면, 이 값 은 그 를 호출 하 는 대상 을 가리 키 며, 끼 워 넣 는 함수 가 함수 로 호출 된다 면, 이 값 은 전역 대상 이 아니면 undefined 입 니 다.
위 에는 비교적 권위 있 는 두 권 의 책 으로 js 에 대한 정의 가 있다.
this 는 js 의 키워드 로 함수 의 사용 장소 에 따라 this 의 값 도 달라 집 니 다.그러나 한 가지 원칙 이 있 습 니 다. 그것 은 바로 this 가 함 수 를 호출 하 는 대상 입 니 다.
자 바스 크 립 트 는 다른 언어 와 는 전혀 다른 this 처리 메커니즘 을 가지 고 있다.다섯 가지 다른 상황 에서 this 는 서로 다른 대상 을 가리킨다.
  • 전역 범위 내
  • this;//         this,this        window
  • 함수 호출
  •   : foo();//   foo     this        。 window
  • 방법 호출
  •   : test.foo();//  foo     this     test  。
  • 구조 함수 호출
  • new foo();// new      ,         。     this        
  • this
  • Function. prototype 의 call 또는 apply 방법 을 사용 할 때 함수 내부 의 this 는 함수 호출 의 첫 번 째 매개 변수
  • 로 명시 적 으로 설 정 됩 니 다.
  • 특수 상황
  • Foo.method = function(){
        function test(){
            //this          (  window  )
        }    
    }

        흔히 볼 수 있 는 오 해 는 test 의 this 가 foo 대상 을 가리 키 는 것 이다. 실제로 그 는 window 전역 대상 을 가리 키 는 것 이다.
        7. 스스로 모 은 것
    var shi = {
            init:function(){
                this.button();
            },
            button:function(){
                console.log(this == shi);//true
                console.log(this);//Object
                console.log("shi----button")
            }
        }

            제 이 슨 대상 중의 this 는 그 자신 이 상례 의 shi 대상 임 을 나타 낸다.

    좋은 웹페이지 즐겨찾기