JavaScript의 정보 캡슐화
코딩하기 전에 다음 용어를 이해해야 합니다.
캡슐화: 내부 데이터의 표현 및 구현 세부 사항을 숨깁니다.
개인 속성 및 메서드: 외부에서만 액세스할 수 있습니다. 공개 인터페이스를 통해 상호 작용합니다.
범위: JavaScript에서는 함수에만 범위가 있으며, 함수 내부에 정의된 속성과 메서드는 외부에서 액세스할 수 없습니다.
권한 있는 메서드: 함수 내부에 선언되어 있습니다. 함수의 내부 변수(속성)에 액세스하는 방법은 더 많은 메모리를 소비합니다.
function Person() { /* * 声明私有的数据 * 昵称,年龄,邮箱 */ var nickName, age, email; /* * 需要访问私有数据的方法(特权方法) * 每生成一个实例将为特权方法生成一个新的副本 */ this.setData = function(pNickName, pAge, pEmail) { nickName = pNickName; age = pAge; email = pEmail }; this.getData = function() { return [nickName, age, email]; } } /* * 不需要直接访问私有数据的方法(公有方法) * 不管生成多少实例,公有方法在内存中只存在一份 */ Person.prototype = { showData: function() { alert("个人信息:" + this.getData().join()); } }
외부 코드는 개인 또는 공용 메서드를 통해 내부 속성에 액세스합니다.
var p = new Person(); p.setData("sky", "26", "vece@vip.qq.com"); p.showData();
데모 코드:
<script> function Person() { var nickName, age, email; this.setData = function(pNickName, pAge, pEmail) { nickName = pNickName; age = pAge; email = pEmail }; this.getData = function() { return [nickName, age, email]; } } Person.prototype = { showData: function() { alert("个人信息:" + this.getData().join()); } } var p = new Person(); p.setData("PHP中文网", "4", "admin@php.cn"); p.showData(); </script>
js 객체 캡슐화에 대한 더 많은 JavaScript 정보 및 관련 기사를 보려면 PHP 중국어 웹사이트에 주목하세요!