개체 내부의 "this"에 액세스

단 흘라 벤카

내가 작성한 꽤 큰 코드 본문에서 문제가 발생하여 다음과 같이 요약했습니다.

var Thing = function(argument){
    this.property = argument;
    this.obj = {
        func: function(){
            return this;
        }
    };
    this.func = function(){
        return this;
    };
};

this.property내부 에 액세스해야합니다 obj.func(). 그러나의 가치는 this내가 기대하는 것과 다릅니다.

> var thing = new Thing("value")
> thing.func()
Thing {property: "value", obj: Object, func: function}
> thing.obj.func()
Object {func: function}

나는 "일"을 호출라는 인스턴스를 인스턴스화 할 때 thing.func(), this현재의 인스턴스를 보유하고 Thing예상대로. 하지만 내가 전화 thing.obj.func()하면 thing.obj. 무슨 일이야? 그 가치에 어떻게 접근합니까?

티 보스
var thing = new Thing('value')
thing.obj.func() // this inside func will be the object before .func, which is thing.obj

한 가지 해결책은 함수를 객체에 바인딩하는 것입니다.

var Thing = function(argument){
    this.property = argument;
    this.obj = {
        func: function(){
            return this;
        }.bind(this);    // bind it to the current object
    };
    this.func = function(){
        return this;
    };
};

또는 다음의 개인 사본과 함께 클로저를 사용할 수 있습니다 this.

var Thing = function(argument){
    var that = this;
    this.property = argument;
    this.obj = {
        func: function(){
            return that;
        }
    };
    this.func = function(){
        return this;
    };
};

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다른 JSON 개체 내부의 JSON 개체에 액세스

분류에서Dev

개체 내부의 개체 속성에 액세스

분류에서Dev

다른 개체 내부의 개체 속성에 액세스

분류에서Dev

PHP : 배열 내부 개체 내부의 요소에 액세스

분류에서Dev

함수 내의 개체에 액세스

분류에서Dev

Angular NGXS의 배열 내부 중첩 개체에 액세스

분류에서Dev

개체 배열 내부의 항목에 액세스

분류에서Dev

_.map 내부의 개체 키에 액세스

분류에서Dev

개체 내부의 배열에 액세스

분류에서Dev

Scala의 컴패니언 개체 내부에있는 개체에 액세스

분류에서Dev

다른 개체 내부의 개체 메서드에 액세스하는 방법

분류에서Dev

초기화 된 개체의 내부 개체 속성에 액세스 할 때 NullPointerException

분류에서Dev

다른 개체 내부의 개체 속성에 액세스하는 방법

분류에서Dev

Drupal에서 다른 개체 내의 개체에 액세스

분류에서Dev

PHP이 개체의 개체에있는 개체의 함수 내부에있는 변수에 액세스

분류에서Dev

개체의 인덱스에 액세스

분류에서Dev

부모 수준 개체에 액세스

분류에서Dev

vue : 배열 내부의 개체에서 특정 배열에 액세스

분류에서Dev

디렉티브 링크 내에서 ngModel의 부모 개체에 액세스

분류에서Dev

개체의 필드에 액세스

분류에서Dev

템플릿의 개체에 액세스

분류에서Dev

창 개체의 기능에 액세스

분류에서Dev

두 개체 내부의 ID에 액세스 할 수 없습니다.

분류에서Dev

배열 내부의 모든 개체에 액세스하는 방법

분류에서Dev

지시문 내부의 개체 속성에 액세스 할 수 없습니다.

분류에서Dev

세션 개체 내의 배열 요소에 액세스

분류에서Dev

세션 개체 내의 배열 요소에 액세스

분류에서Dev

배열 내부에 중첩 된 JSON 개체에 액세스

분류에서Dev

스레드에 개체 전달 (스레드 외부의 개체에 액세스)

Related 관련 기사

  1. 1

    다른 JSON 개체 내부의 JSON 개체에 액세스

  2. 2

    개체 내부의 개체 속성에 액세스

  3. 3

    다른 개체 내부의 개체 속성에 액세스

  4. 4

    PHP : 배열 내부 개체 내부의 요소에 액세스

  5. 5

    함수 내의 개체에 액세스

  6. 6

    Angular NGXS의 배열 내부 중첩 개체에 액세스

  7. 7

    개체 배열 내부의 항목에 액세스

  8. 8

    _.map 내부의 개체 키에 액세스

  9. 9

    개체 내부의 배열에 액세스

  10. 10

    Scala의 컴패니언 개체 내부에있는 개체에 액세스

  11. 11

    다른 개체 내부의 개체 메서드에 액세스하는 방법

  12. 12

    초기화 된 개체의 내부 개체 속성에 액세스 할 때 NullPointerException

  13. 13

    다른 개체 내부의 개체 속성에 액세스하는 방법

  14. 14

    Drupal에서 다른 개체 내의 개체에 액세스

  15. 15

    PHP이 개체의 개체에있는 개체의 함수 내부에있는 변수에 액세스

  16. 16

    개체의 인덱스에 액세스

  17. 17

    부모 수준 개체에 액세스

  18. 18

    vue : 배열 내부의 개체에서 특정 배열에 액세스

  19. 19

    디렉티브 링크 내에서 ngModel의 부모 개체에 액세스

  20. 20

    개체의 필드에 액세스

  21. 21

    템플릿의 개체에 액세스

  22. 22

    창 개체의 기능에 액세스

  23. 23

    두 개체 내부의 ID에 액세스 할 수 없습니다.

  24. 24

    배열 내부의 모든 개체에 액세스하는 방법

  25. 25

    지시문 내부의 개체 속성에 액세스 할 수 없습니다.

  26. 26

    세션 개체 내의 배열 요소에 액세스

  27. 27

    세션 개체 내의 배열 요소에 액세스

  28. 28

    배열 내부에 중첩 된 JSON 개체에 액세스

  29. 29

    스레드에 개체 전달 (스레드 외부의 개체에 액세스)

뜨겁다태그

보관