js 의 this 지침 이해

1905 단어 js
주위 의 몇몇 친구 들 이 js 의 this 지침 에 대한 이해 가 전면적 이지 않다 는 것 을 발 견 했 기 때문이다.다음은 본인 이 js 의 this 지침 에 관 한 내용 을 간단하게 설명 하고 필요 한 친구 에 게 만 참고 하도록 하 겠 습 니 다.
간단하게 자 바스 크 립 트 의 this 를 한 마디 로 요약 하 겠 습 니 다.js 에서 this 지침 은 현재 코드 를 실행 하 는 대상 의 소유 자 를 대표 합 니 다.
다음은 몇 가지 간단 한 예 를 들 어 설명 한다.
var name="jonson";
function test(){alert("  ,     "+this.name);}
test();

  이 코드 는 매우 간단 합 니 다. 우 리 는 전역 변수 name, 전역 function 를 정 의 했 고 마지막 으로 이 test 방법 을 호출 했 습 니 다.이 코드 를 실행 하면 '안녕하세요, 제 이름 은 존 슨 입 니 다' 가 팝 업 됩 니 다.
이곳 의 test 방법 과 name 방법 은 모두 js 의 초기 대상 window 에 속 합 니 다.쉽게 말 하면 아래 에서 test 방법 을 호출 하 는 대상 은 window 입 니 다.
 
var obj={};
var name="jonson_window";
obj.name="jonson_obj";
obj.test=function (){alert("  ,     "+this.name)};
obj.test();

  이 코드 를 실행 하면 페이지 에 '안녕하세요, 제 이름 은 jonson obj 입 니 다' 가 나타 납 니 다. '안녕하세요, 제 이름 은 jonson wondow 입 니 다' 가 아 닙 니 다.마지막 으로 obj. test () 는 obj 대상 이 test 방법 을 호출 하 는 것 을 말 하기 때문에 여기 있 습 니 다.
this. name 은 자연히 obj. name 의 값 을 가리킨다.
function test(){      
alert(this.title);
}

  이 코드 페이지 를 실행 하면 undefined 문 자 를 팝 업 합 니 다.내 input 태그 에 title 속성 이 있 는 값 이 test 라 고 할 수 있 습 니 다.근 데 여기 왜 undefined 라 는 글자 가 나 오지?사실 이 치 는 매우 간단 하 다. 여 기 는 onclick 방법 을 통 해 호출 된 것 이다.실은οnclick = "test ()" 는 function onclick (evenet) {test ();} 에 해당 하 며, function onclick 은 사실 하나의 전역 적 인 function 이 며, 위의 test 방법 도 전역 적 인 function 이 며, 모두 window 대상 의 두 가지 속성 으로 볼 수 있 습 니 다.여 기 는 사실 이 를 통 해 onclick 방법 에서 이 test 방법 을 호출 하 는 것 입 니 다. 사실은 여기 서 첫 번 째 표현 과 같 습 니 다.
이상 의 몇 가지 예 를 통 해 저 는 여러분 들 이 js 의 this 가 가리 키 는 의 미 를 다소 이해 했다 고 믿 습 니 다. - this 지침 은 현재 코드 를 실행 하 는 대상 의 소유 자 를 대표 합 니 다.
나 는 여러분 이 이 블 로 그 를 다 본 후에 스스로 테스트 를 해서 js 의 this 세대 에 대한 이 해 를 강화 할 수 있 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기