>웹 프론트엔드 >JS 튜토리얼 >JavaScript_javascript 기술에서 이 키워드의 소개 및 사용 예

JavaScript_javascript 기술에서 이 키워드의 소개 및 사용 예

WBOY
WBOY원래의
2016-05-16 17:31:581047검색

클래스를 생성할 때 아래의 각 새 클래스에 공통 변수나 기타 기능이 포함되도록 하려면 this 키워드가 가장 좋은 방법입니다.

물론 객체지향 언어이기 때문에 접근 권한 문제가 있을 수밖에 없고, 이 역시 this 키워드와 밀접하게 연관되어 있습니다. 이 클래스의 액세스 권한 문제를 설명하는 예를 보여드리겠습니다.

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

//Person 클래스
function Person (){
var name="abc";//var는 클래스 내부에 전용 변수를 선언하며 외부에서 접근할 수 없습니다.
var age = 20; this.name2="edg" ;// 외부에서 접근할 수 있는 public 변수를 선언합니다

this.show=function(){//shou 메소드는 외부에서 접근할 수 있는 public 메소드이고 내부의 private 메소드에 접근할 수 있습니다. 클래스
window.alert(name);
}

함수 show2(){//shouw2 메소드는 클래스 내부의 비공개 메소드이며 외부에서 액세스할 수 없습니다.

}
}

var p1 = new Person();
document.writeln(p1.name2 p1.name)
p1.show()
//Person 클래스 www .jb51.net
function Person(){
var name="abc";//var은 클래스 내부에 전용 변수를 선언하고 외부에서 액세스할 수 없습니다.
var age = 20;

this.name2="edg ";//외부에서 접근 가능한 public 변수를 선언합니다

this.show=function(){//shou 메소드는 외부에서 접근 가능한 public 메소드로, 클래스 내 프라이빗 메서드에 액세스
window.alert(name);
}

function show2(){//shouw2 메서드는 클래스 내부의 프라이빗 메서드이므로 외부에서 액세스할 수 없습니다.

}
}

var p1 = new Person(); document.writeln(p1.name2 p1.name);

p1.show();


이 사람은 실제로 클래스입니다. , 클래스 이름은 Person이고, 여기에 선언된 변수는 var로 시작하는 모든 개인 변수이며, 클래스 내에서만 액세스할 수 있습니다.


물어보세요, 이 키워드를 통해 선언된 변수는 공개 변수이고 외부에서 접근이 가능합니다. 물론, 외부 접근을 달성하기 위한 메소드만 노출하면 됩니다

클래스 내부의 비공개 변수에 대해 문의하세요. This.show=function(){}은 클래스 외부에서도 호출할 수 있는 공개 메서드를 선언합니다. 물론, 이걸로

비유적으로 직접 선언된 메소드는 비공개 메소드입니다/

다른 예를 살펴보겠습니다

function test(){
경고 (this.v);
}
var v = 902;
window.test()
function test(){
Alert(this.v);
}
var v = 902;
window.test();


코드가 매우 짧다는 것은 이 메서드를 호출하는 사람이 개체, 예를 들어 창을 참조한다는 의미입니다. 객체가 테스트 메소드를 호출합니다.

그래서 테스트 메서드 내부에서 v는 v 변수가 창에 정의되어 있는지, 즉 외부적으로 가 정의되어 있는지를 보면 알 수 있습니다.

A var v = 902; 따라서 이 메소드가 호출하는 것은 실제로 v의 값입니다.

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