javascript - 이것이 가리키는 문맥에 대한 질문입니까?
某草草
某草草 2017-07-05 10:56:18
0
5
922

코드로 바로 이동:

으아아아

위 코드의 이 점이 다른 이유는 무엇인가요?

이제 잘 이해가 되었습니다. 답변 부탁드립니다!

某草草
某草草

모든 응답(5)
大家讲道理

함수 차용과 생성자 함수를 버리고 이제 두 가지 유형만 남았습니다. 하나는 일반 함수이고 다른 하나는 객체 메서드입니다.

객체 메서드는 객체를 가리키고, 일반 함수는 전역을 가리킵니다.

曾经蜡笔没有小新

누가 이 함수를 호출하든 this누구를 가리킵니다.

this的指向只和你如何调用这个函数有关,比如你说第一个this指向test,这可不一定,有的是办法把这个this的指向改掉。只有当你运行test.outer()的时候,第一个this才会指向test의 지정은 이 함수를 호출하는 방법에만 관련됩니다. 예를 들어 첫 번째

test를 가리키는 경우 반드시 그렇지는 않습니다. 🎜. test.outer()를 실행할 때만 첫 번째 🎜가 test를 가리킵니다. 🎜
Ty80

/a/11...

女神的闺蜜爱上我

이것은 클로저 문제입니다. 함수 메소드를 포함하여 객체 리터럴을 통해 객체에 속성이 할당되면 이 함수 메소드에는 콘솔 출력이 있고 이 함수에서 함수가 선언되면 일반적인 상황에서 클로저 문제가 발생합니다. , 이것은 창을 가리킨다. 특별한 상황에서는 이 값을 변경할 수 있다. 내가 쓴 패킷 폐쇄에 대한 글을 읽으면 내 프로필을 읽을 수 있다.

巴扎黑

실제로 익명으로 답변하는 것은 옳지 않습니다! 객체의 함수 내부에 정의된 함수는 this 내부는 물론 상위 환경 변수를 직접 얻을 수 없습니다. 이 방법으로 var that=this와 같은 변수를 정의해야 합니다. 이 객체의 레벨을 지정합니다.
var test = {

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