JavaScript的私有成员
作者:糖伴西红柿 来源:前端观察 发布时间:2009-03-25 20:45:00
标签:JavaScript,对象,闭包,私有成员
对象
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’。
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 日期的转换及计算对于日期,有时需执行不同时间单位的转换,或者接受字符串格式的日期,转换为 datetime 对象。有时需计算日期的范围,以及
- 在Perfection kills上看到他去年写的一篇文章,关于HTML优化的,讲的很详细,姑且记录之,尽管里面有些东西并不能在目前的环境里
- 这一篇笔记将介绍 session 相关的内容,包括如何在系统中使用 session,以及利用 session 实现登录认证的功能。1、ses
- Hadoop 命令行最常用指令篇:1.ls (list directory)Usage:hadoop fs -ls [R]Option: -
- 首先创建公用js在static中创建js—>utils.jsutils.js内容如下:export default { install
- 【问】使用FCKeditor添加文章时,在文章最后多了逗号。【答】此情况发生在asp环境中。在asp里对于 提交的表单信息中如果有相同nam
- 本文主要介绍了一个将 MongoDB 中的数据导入到 MySQL 中的 Python 工具类 MongoToMysql。该工具类实现了获取
- 本文以修改用户名密码单元为案例,编写测试脚本。完成修改用户名密码模块单元测试。(ps.这个demo中登陆密码为“admin”)1. 打开浏览
- sql server存储过程语法 定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过
- mktime()方法是localtime()反函数。它的参数是struct_time或全9元组,它返回一个浮点数,为了兼容时ti
- Request.ServerVariables里Server_Name与Http_Host之间有什么区别呢?如果不仔细看,您应该看不出它们之
- 一、概论C4.5主要是在ID3的基础上改进,ID3选择(属性)树节点是选择信息增益值最大的属性作为节点。而C4.5引入了新概念“信息增益率”
- python读取txt文件#方式一:file = r'D:\test.txt'with open(file, 'rb
- 一、什么是v-bind指令v-bind指令用于响应更新HTML特性,允许将一个或多个属性动态绑定到表达式。v-bind是应用在动态属性上面的
- asp如何显示全部的环境变量?<%@Language="VBScript"%><%dim H
- 1.DQL类型的SQL语句基本概述DQL类型的SQL语言全称为Data Query Language,中文名称为数据查询语言,主要是用来查询
- 本文实例为大家分享了Linux下MySQL 5.6.27 安装教程,供大家参考,具体内容如下1、下载地址https://cdn.mysql.
- 有的小伙伴对于枚举的理解很模糊,其实我们可以把它看成一个数量的大管家,对其中的每一个数进行检查,保证里面的数字都没有重复的,这就是枚举的用法
- 扫雷是一个非常经典的WIN游戏,我们教给大家用python语言来写出这个游戏,以下是全部实例代码:#!/usr/bin/python#cod
- 我就废话不多说了,大家还是直接看代码吧~# 用一行代码实现for循环初始化数组o = 10b = [ o + u for u in rang