Maison  >  Article  >  interface Web  >  Encapsulation des informations en JavaScriptIntroduction aux objets js

Encapsulation des informations en JavaScriptIntroduction aux objets js

高洛峰
高洛峰original
2017-01-04 09:33:30952parcourir

Encapsulation des informations en JavaScript
Avant de coder, nous devons comprendre les termes suivants :
Encapsulation : masquer les détails de représentation et d'implémentation des données internes
Propriétés et méthodes privées : uniquement externes. et interagissez avec elle via son interface publique
Portée : En JavaScript, seules les fonctions ont une portée, et les propriétés et méthodes définies à l'intérieur de la fonction ne sont pas accessibles de l'extérieur
Méthodes privilégiées : déclarées à l'intérieur de la fonction, elles peuvent la méthode d'accès aux variables internes (propriétés) d'une fonction consomme plus de mémoire ;

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()); 
} 
}

Le code externe accède aux propriétés internes via des méthodes privées ou publiques

var p = new Person(); 
p.setData("sky", "26", "vece@vip.qq.com"); 
p.showData();

Code démo :

<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>

Pour plus d'informations JavaScript et des articles connexes sur l'encapsulation d'objets js, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn