>웹 프론트엔드 >JS 튜토리얼 >javascript_javascript 기술의 이벤트에서 이를 적용하는 방법에 대한 간략한 토론

javascript_javascript 기술의 이벤트에서 이를 적용하는 방법에 대한 간략한 토론

WBOY
WBOY원래의
2016-05-16 16:13:571139검색

이 키워드는 자바스크립트에서 매우 강력하지만, 어떻게 작동하는지 모르면 사용하기 어렵습니다.

코드 복사 코드는 다음과 같습니다.

함수 dosomething(){ this.style.color="#fff" }

위 코드에서 이것은 무엇을 가리키며, dosomething()을 실행할 때 무엇이 ​​출력되나요?

JavaScript에서 this는 항상 현재 실행 중인 함수, 또는 해당 함수를 메서드로 호출하는 개체를 가리킵니다. 페이지에 dosomething() 메서드를 정의하면 이 개체의 소유자는 현재 페이지이거나, 전역 개체라고 합니다.

그래서 dosomething() 함수를 실행하면 오류가 발생합니다. 왜냐하면 이 함수는 전역 개체 창을 가리키고 창 개체에는 스타일 속성이 없기 때문입니다.

복사:

코드 복사 코드는 다음과 같습니다.

element.onclick=dosomething;

dosomething()은 이제 메소드로서 onclick 속성에 완전히 복사됩니다. 따라서 이 이벤트가 실행되면 HTML 요소를 가리키며 dosomething이 복사될 때마다 해당 HTML 요소의 색상이 변경됩니다. 이벤트는 현재 이 메서드를 실행하는 html 요소를 가리킵니다.

인용문:

코드 복사 코드는 다음과 같습니다.


이번에는 이 메소드를 복사한 것이 아니라 이 메소드를 참조했습니다. onclick 속성은 실제 메소드를 포함하지 않고 단지 메소드 호출일 뿐입니다. 이 메소드를 실행하면 다시 전역 창 객체를 가리킵니다. 오류가 발생합니다.

위 내용은 이 글의 전체 내용입니다. 도움이 필요한 친구들은 주의 깊게 읽어보세요.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.