JavaScript的私有成员

作者:糖伴西红柿 来源:前端观察 时间:2009-03-25 20:45:00 

对象

Javascript 根本上是和对象相关的。数组是对象。函数是对象。对象是对象。那什么是对象呢?对象是名-值对的集合。名是字符串,值可以是字符串,数字,布尔值或者对象(包括数组和函数)。通常对象是像哈希表一样执行地,这样便于值地快速检索。

如果值是函数,我们可以认为这是一个方法。当一个对象地方法被调用的时候,this 变量就设置为这个对象。方法就可以通过 this 变量来访问实例变量。

对象可以由用来初始化对象的构造函数生成。构造函数提供了其他语言中类所提供的特性,包括静态变量和方法。

公共

对象的成员全部是公共成员。任何函数都可以访问、修改或者删除这些成员,或者增加新成员。有两种向新对象中添加成员的方法:

在构造函数中添加

这个技术通常用于初始化公共实例变量。使用构造函数的 this 变量向对象中添加成员。

function Container(param){
 this.member = param;
}

这样,如果我们创建一个新对象:

 var myContainer = new Container('abc');

这样 myContainer.member 就包含 ‘abc’ 了。

在原型中添加

这个技术通常用于添加公共方法。当一个成员被检索并且没能在对象本身里面找到时,就要从对象的构造函数的原型成员里面寻找。原型机制是用于继承的。也用于节省内存。向一个构造函数生成的所有对象中添加一个方法,只需要向构造函数原型中添加一个函数:

 Container.prototype.stamp = function(string){
  return this.member + string;
 }

因此,我们可以调用这个方法:

 myContainer.stamp('def')

结果为 ‘abcdef’。

标签:JavaScript,对象,闭包,私有成员
0
投稿

猜你喜欢

  • JavaScript画圆

    2010-01-22 15:57:00
  • ASP导出Excel数据的四种办法

    2007-08-26 18:32:00
  • 用Dreamweaver MX实现网站批量更新

    2009-09-13 18:39:00
  • 怎么让按钮更容易被点击

    2007-08-22 09:07:00
  • 让IE8支持eWebEditor在线编辑器

    2010-02-28 10:36:00
  • SqlServer 基础知识 数据检索、查询排序语句

    2011-11-03 16:46:12
  • 如何从ASP连接到Oracle Server?

    2009-11-15 19:52:00
  • 用YSlow评分插件分析我们页面

    2008-08-26 11:48:00
  • Dreamweaver的CSS布局ul和li范例

    2009-08-28 12:34:00
  • 简化翻页提升可用性

    2009-03-28 11:52:00
  • 使用SQL Server 2000索引视图提高性能

    2009-01-13 13:47:00
  • JavaScript 颜色梯度和渐变效果

    2009-03-18 11:16:00
  • 关于utf-8格式中截取中英文字符串长度无效的问题

    2008-11-25 14:00:00
  • asp如何验证字符串是否包含有效字符?

    2009-11-08 19:02:00
  • 如何动态产生变量?

    2009-11-18 16:33:00
  • SQL Server数据库导入MySQL数据库体验

    2009-01-20 16:07:00
  • Oracle常用命令大全集

    2010-07-21 13:18:00
  • [译]艺术和设计的差异 (1)

    2009-09-25 12:38:00
  • 搜索结果页(SERP):前言

    2009-07-22 20:56:00
  • 记录密码的asp代码

    2009-11-02 10:50:00
  • asp之家 网络编程 m.aspxhome.com