javascript的私有成员(private)

2016-02-20 00:50 1 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是javascript的私有成员(private),一起来学习了解下吧!

【 tulaoshi.com - Web开发 】

对象

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

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

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

公共

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

在构造函数中添加

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

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

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

 var myContainer = new Container('abc');

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

在原型中添加

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

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

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

 myContainer.stamp('def')

结果为 ‘abcdef’。

私有

私有成员是由构造函数生成的。一般构造函数的变量和参数都是私有成员。

 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次。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

按照习惯,我们设置了一个私有的 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.)

私有方法不能被公共方法调用。要想使得私有方法有用,需要介绍一下特权方法。

来源:https://www.tulaoshi.com/n/20160220/1632620.html

延伸阅读
标签: 浏览器
Firefox如何清除我个人的私有数据 Firefox如果要清除全部私有数据,可以通过工具-清除私有数据,选择你要清除哪些类别的数据,然后点击立即清除私有信息按钮。注意这种方式将会清除你选中 的相应类别下的所有私人数据。例如你选中了已保存的密码,那么你在该配置文件下保存的所有站点的密码都会被清除。如果仅仅希望清除个别的私人数据,...
标签: 软件教程
qt现在是一款非常流行的刷单和聊天软件,如果你是一款房间的管理员,要管理你的成员,那成员管理的详细功能和操作方法你肯定要有所了解,今天小编给大家来分享下qt成员管理教程,让大家详细的介绍成员管理的功能和操作方法。 第一:赛选类型 时段贡献筛选功能,可以让你查看到近3个月内任意时间段内的成员贡献...
猪肉脯 1.把这些原料全放在碗里,用筷子顺着一个方向搅拌。直到上劲,腌15分钟。 2.把肉分成三份,放在油纸上,上边盖一层保鲜膜,用面棍把肉压平,烤箱180度,两面各烤15分钟即可。 黑椒猪肉脯斯 1、将猪肉糜加调料朝一个方向搅打上劲,腌制半小时以上 2、锡纸上刷一层薄油,避免肉脯烤熟后不易取下来 3、把腌好的猪肉糜放到锡纸...
标签: 猪肉 胡椒面
猪肉脯 1.把这些原料全放在碗里,用筷子顺着一个方向搅拌。直到上劲,腌15分钟。 2.把肉分成三份,放在油纸上,上边盖一层保鲜膜,用面棍把肉压平,烤箱180度,两面各烤15分钟即可。 黑椒猪肉脯斯 1、将猪肉糜加调料朝一个方向搅打上劲,腌制半小时以上 2、锡纸上刷一层薄油,避免肉脯烤熟后不易取下来 3、把腌好的猪肉糜放到锡纸...
标签: 猪肉 胡椒面
猪肉脯 1.将瘦猪肉馅放到菜板中再剁5分钟,因为绞出来肉馅不够细腻,再次剁5分钟使肉更加细腻而粘粘 2.将剁好的肉馅放入碗中,加入料酒、盐、糖、蜂蜜、鸡蛋一个,五香粉、酱油、几滴美极鲜味汁、几滴香油、鱼露2汤匙。用筷子顺时针不停的用力搅至肉馅上劲 3.然后盖上保鲜膜放入冰箱冷藏2个小时 4.腌制好肉馅以后,案板上铺一张锡纸,将...

经验教程

816

收藏

64
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部