JavaScript之信息的封装 js对象入门

  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", "[email protected]");

  p.showData();

  演示代码:

  

   [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]