JavaScript Information Encapsulation
Before coding, we need to understand the following terms;
Encapsulation: hides the internal data representation and implementation details;
Private attributes and Methods: external users can only access and interact with them through their public interfaces.
Scope: In JavaScript, only the function has a scope, and the attributes and methods defined inside the function cannot be accessed externally.
Privileged method: The method declared inside the function that can access internal variables (attributes) of the function, which is memory-consuming;
Copy codeThe Code is as follows:
Function Person ()
{
/*
* Declare private data
* Nickname, age, email
*/
Var nickName, age, email;
/*
* Methods for accessing private data (privileged methods)
* Every time an instance is generated, a new copy is generated for the privileged method.
*/
This. setData = function (pNickName, pAge, pEmail)
{
NickName = pNickName;
Age = pAge;
Email = pEmail
};
This. getData = function ()
{
Return [nickName, age, email];
}
}
/*
* Method for directly accessing private data (public method)
* No matter how many instances are generated, the public method only has one copy in the memory.
*/
Person. prototype = {
ShowData: function ()
{
Alert ("personal information:" + this. getData (). join ());
}
}
External Code uses private or public methods to access Internal Attributes
Copy codeThe Code is as follows:
Var p = new Person ();
P. setData ("sky", "26", "vece@vip.qq.com ");
P. showData ();
DEMO code:
[Ctrl + A select all Note: If you need to introduce external Js, You need to refresh it to execute]