javascript - 이것으로 지적되는 문제
ringa_lee
ringa_lee 2017-05-19 10:08:29
0
3
524
으아아아

var a = new Persion('Tom')인 경우 self와 this는 여전히 Persion을 가리킵니다. a.before().after()를 실행할 때 self는 Window를 가리켜 이를 저장하려고 합니다. 자기의 인위적인 변화는 없는데 왜 자기의 가치는 변하는가?

보충사항:
맨 위 문장입니다. var self= this; 디버깅할 때 self가 Persion에서 window로 변경된 것을 발견했습니다. 전후의 선언을 주석 처리했는데 self가 선언되지 않은 경우 출력이 정의되지 않은 것을 발견했습니다. 창문

ringa_lee
ringa_lee

ringa_lee

모든 응답(3)
左手右手慢动作

self 변수는 before 함수에 정의되어 있지 않으므로 여기서 self는 window.self를 참조합니다.
self 속성은 창 자체에 대한 읽기 전용 참조를 반환합니다. Window 속성과 동일합니다.

黄舟

전후의 _self 값이 정의되지 않았습니다

巴扎黑

문제가 있는 것으로 알고 있습니다. 제 문제는 제 코드에서 추출되어 단순화되었습니다. 원본 코드에 비동기 부분이 있는데, 이것이 비동기 부분에서 창이 됩니다. 디버깅을 해보니 윗문장 var self= this의 self가 Persion에서 window로 바뀌는 것을 발견하고 self에 문제가 있는 줄 알았습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿