JavaScript的私有成员(2)
作者:糖伴西红柿 来源:前端观察 发布时间:2009-03-25 20:45:00
标签:JavaScript,对象,闭包,私有成员
私有
私有成员是由构造函数生成的。一般构造函数的变量和参数都是私有成员。
function Container(param){
this.member = param;
var secret = 3;
var that = this;
}
这个构造函数生成了3个私有实例变量:param,secret 和 that。它们和对象相关联,但是它们不仅在函数外边不可访问,而且对对象自身的公共方法来说也是不可访问的。它们只可以被私有方法访问。私有方法是构造函数的内部函数。
function Container(param) {
function dec() {
if (secret > 0) {
secret -= 1;
return true;
} else {
return false;
}
}
this.member = param;
var secret = 3;
var that = this;
}
私有方法 dec 检查 secret 实例变量。如果它大于零,将其减一并返回 true。否则返回 false。它可以用作限定对象使用3次。
按照习惯,我们设置了一个私有的 that 参数。它使得这个对象对于私有方法使可见的。在 ECMAScript 语言规范中,这是一个可行的错误,它使得 this 对于内部函数被不正确地设置。(This is a workaround for an error in the ECMAScript Language Specification which causes this to be set incorrectly for inner functions.)
私有方法不能被公共方法调用。要想使得私有方法有用,需要介绍一下特权方法。


猜你喜欢
- “深入认识Python内建类型”这部分的内容会从源码角度为大家介绍Python中各种常用的内建类型。
- 一. 开发前的准备1. 必须了解的知识 SDK:软件开发工具包,可以为开发者提供快速开发的工具沙箱环境:也就是测试环境支付宝支付金额的精度:
- itertools.product:类似于求多个可迭代对象的笛卡尔积。使用的形式是:itertools.product(*iterables
- 1.创建mysql存储过程,这是个复杂查询加上了判断,比较复杂CREATE PROCEDURE searchAllList (IN trad
- 用HZHOST实用工具集的服务器安全设置里安装了MSSQL安全配置,现在SQL2000还原不了数据库了,从还原选定设备浏览文件夹时出现&qu
- 为什么在facebook交友会更容易?facebook与传统的BSP(Blog Service Provider)到底有什么不同?是因为它有
- 本文实例讲述了php实现的CSS更新类及其用法,非常实用。分享给大家供大家参考。具体如下:CSSUpdate.class.php类文件如下:
- 代码如下:--函数 CREATE function fn_GetPy(@str nvarchar(4000)) returns nvarch
- 0. 前言本文介绍Python Matplotlib库的入门求生级使用方法。为了方便以下举例说明,我们先导入需要的几个库。以下代码在Jupy
- 一、源码安装首先安装开发工具包yum groupinstall -y "Development tools"安装依赖软件
- 关于opencvOpenCV 是 Intel 开源计算机视觉库 (Computer Version) 。它由一系列 C 函数和少量 C++
- 1、除法相关在python3之前,print 13/4 #result=3然而在这之后,却变了!print(13 / 4) #r
- 本文介绍了三种跨域访问的方法,php,asp及jsp种访问远程文件的方法。这几天脑细胞剩下的不多了,不过问题都一个个解决了。我希望搜索引擎能
- 最近在处理文本文件时,遇到编码格式和换行符的问题。基本上都是GBK 和 UTF-8 编码的文本文件,但是python3 中默认的都是按照 u
- 内容摘要:在像网站首页这样的资源比较集中的页面中,那些栏目最经常被用户点击?居左居右对广告的点击率的影响是什么?“一切用数字说话”:以上问题
- 前言;Python基础知识+结构+数据类型Python基础学习列表+元组+字典+集合Python基础学习函数+模块+类今天给大家分享的是第四
- 本文实例讲述了JS截取与分割字符串的常用方法。分享给大家供大家参考,具体如下:JS截取字符串可使用 substring()或者slice()
- 本文实例讲述了Python使用urllib2模块实现断点续传下载的方法。分享给大家供大家参考。具体分析如下:在使用HTTP协议进行下载的时候
- 还记得以前在工作中,将爬来的其它网站的数据导到xml。但是会遇到一个问题:即网页会有ascII的控制字符。一开始以为是别人为了防止采集而加入
- 那怎么开始设计一个合格的类呢,一开始就写class{}的都错了,正确的是什么都不写,而是假设这个类已经存在,这个对象已经存在,各种属性方法都