자세한 내용은 댓글을 잘 읽어보세요. 헛소리는 그만하고 바로 코드로 넘어가겠습니다.
//권한 있는 속성으로 정의됩니다. 모두 접근 가능
//var는 개인 속성으로 정의됩니다.
//동적으로 추가된 속성은 공개 속성입니다. 사유 재산 접근 불가
//인스턴스 속성은 주로 공개 속성과 권한 속성으로 구성됩니다. 둘 다 외부 및 프로토타입 속성을 통해 액세스할 수 있습니다. 가장 큰 차이점은 사유 재산에 접근할 수 있는지 여부입니다
//프로토타입 속성은 인스턴스 속성보다 우선순위가 낮습니다. 외부 액세스 및 인스턴스 속성으로 액세스 가능(개인 속성 제외)
//공용 속성: 외부 환경에 노출되는 객체의 속성입니다. 그것도 물건의 속성이다.
//개인 속성: 개체 내부의 속성에 액세스할 수 없는 경우가 많습니다. 생성자 수준에서만 속성을 고려하는 것이 좋습니다.
// 공통 속성: 생성자가 생성한 모든 인스턴스가 공유하는 속성입니다.
함수 사용자(){
// 공개 속성: 각각의 새로운 User 인스턴스 객체에는 속성이 있습니다.
// 인스턴스 속성이며, 모든 인스턴스의 속성은 메모리를 공유하지 않습니다.
// 외부에서 접근 가능합니다.
This.name='바이론비스'
// 권한 있는 메서드: 모든 새로운 User 인스턴스 객체에는 메서드가 있습니다.
// 인스턴스 메소드이며, 모든 인스턴스 메소드는 메모리를 공유하지 않습니다.
// 외부에서 접근 가능합니다.
// 접근 가능한 공용 속성.
// 접근 가능한 개인 속성.
This.sayName=function(){
경고(이.이름)
경고(this.school)
Alert(age);//변수 선언이 자동으로 진행됩니다.
경고(this.sex)
}
// 비공개 속성: 외부에서는 외부에서 접근할 수 없습니다.
// 생성자에게만 의미가 있고 New의 User 인스턴스 객체에는 의미가 없습니다.
var 연령=22
// Private 메소드: 외부 접근이 불가능합니다.
// 생성자에게만 의미가 있고 New의 User 인스턴스 객체에는 의미가 없습니다.
기능 sayAge(){
경고(나이)
}
sayAge()
}
// 공통 속성: 공유 메모리.
User.prototype.school='zky'
// 퍼블릭 메소드: 접근 가능한 퍼블릭 속성.
// 공유 메모리.
User.prototype.saySchool=function(){
경고(this.school)
경고(this.name)
경고(this.sex)
경고(나이)
}
var obj=new User()
// 정적 속성: 동적으로 추가된 인스턴스 속성입니다.
obj.sex='man'
// 정적 메소드: 동적으로 추가되는 인스턴스 메소드입니다.
obj.saySex=function(){
경고(this.sex)
경고(이.이름)
경고(this.school)
경고(나이)
}
//------여기에 구분선이 있습니다---------------------------- ---
//// 이는 이 키워드로 정의된 속성과 동적으로 추가된 속성이 본질적으로 동일하며 인스턴스 객체의 공용 속성으로 간주될 수 있음을 증명합니다.
// 확인: 이 키워드로 정의된 속성은 동적으로 추가된 속성
에 액세스합니다.
// obj.sayName();//true
// 확인: 동적으로 추가된 속성은 이 키워드로 정의된 속성에 액세스합니다.
// obj.saySex();//true
// 확인: 공개 속성이 비공개 속성에 액세스합니다
// obj.sayName();//true
obj.saySex();//false
// 확인: 공유 속성이 비공개 속성에 액세스합니다
// obj.saySchool();///false
스크립트>
머리>
테스트 문서
본문>