>  기사  >  웹 프론트엔드  >  JavaScript로 정보 캡슐화 js object_js 객체 지향 소개

JavaScript로 정보 캡슐화 js object_js 객체 지향 소개

WBOY
WBOY원래의
2016-05-16 18:29:16939검색

JavaScript로 정보 캡슐화
코딩하기 전에 다음 용어를 이해해야 합니다.
캡슐화: 내부 데이터의 표현 및 구현 세부 사항을 숨깁니다.
개인 속성 및 메서드: 외부 세계에서만 사용할 수 있습니다. 공개 인터페이스는 접근 및 상호 작용을 허용합니다
범위: JavaScript에서는 함수에만 범위가 있으며 함수 내부에 정의된 속성과 메서드는 외부에서 접근할 수 없습니다
특권 메서드: 함수 내부에 선언되면 함수에 접근할 수 있습니다. 함수 내부 변수(속성) 방식은 메모리를 더 많이 소모합니다.

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

function Person()
{
/*
* 개인 데이터 선언
* 별명, 나이, 이메일
*/
var nickName, age, email
/*
* 개인 데이터에 액세스해야 하는 메서드(권한 있는 메서드)
* 생성된 각 인스턴스는 권한 있는 메서드에 대한 새 복사본을 생성합니다.
*/
this.setData = function(pNickName , pAge, pEmail)
{
nickName = pNickName;
age = pAge
email = pEmail
}; >return [별명, 나이, 이메일];
}
}
/*
* 개인 데이터에 직접 접근할 필요가 없는 방법(공용 방법)
* 인스턴스 수에 관계 없음 생성되며, 공용 메소드는 메모리에만 존재합니다. 사본 1개
*/
Person.prototype = {
showData: function()
{
alert("개인 정보:" this.getData( ).join())
}
}



외부 코드는 프라이빗 또는 퍼블릭 메서드를 통해 내부 속성에 액세스합니다.



코드 복사 코드는 다음과 같습니다. var p = new Person()
p.setData("sky", "26" , "vece@vip.qq.com") ;
p.showData()


데모 코드:



[Ctrl A 모두 선택 참고: 외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다 ]
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.