1.任何函数中定义的变量都可以认为是私有变量。函数内部可以访问,外部不能访问。

可以通过闭包创建特权方法访问私有变量。

function Foo(){var n=10;this.returnN=function(){return n;};
};
var newfoo=new Foo();
console.log(newfoo.returnN())//10

2.静态私有变量的创建是在私有域中定义私有变量和私有函数,再定义构造函数极其共有方法。构造函数不使用函数声明,实际上是创建了一个全局变量。公有方法在原型上定义。

(function(){var name = "";Person = function(value){                name = value;                };Person.prototype.getName = function(){return name;};Person.prototype.setName = function (value){name = value;};
})();var person1 = new Person("Nicholas");
alert(person1.getName());   //"Nicholas"
person1.setName("Greg");
alert(person1.getName());   //"Greg"var person2 = new Person("Michael");
alert(person1.getName());   //"Michael"
alert(person2.getName());   //"Michael"

这种方法下,name成了一个所有实例公有的静态属性,更改它会影响到所有的实例。

3.模块模式是为单例创建私有变量和特权方法的。(单例指只有一个实例的对象,是以对象字面量的方式创建的。)

var single=function (argument) {var privateVar=10;function privateFun () {//私有方法函数
    }return {publicProerty:true,//返回的共有方法可访问私有变量publicMethod:function () {privateVar++;return privateFun()}}
}

模块模式使用一个返回对象的匿名函数,在这个匿名函数的内部,首先定义私有变量和函数,然后将一个对象字面量作为函数的值返回。返回的对象字面量中只包含公开属性和方法。由于这个对象是在匿名函数内部定义的,因此它的共有方法有权访问私有变量和函数。也就是说,这个对象字面量定义的是单例的公共接口。这种模式在需要对单例进行某些初始化,同时又需要维护其私有变量时有用。

转载于:https://www.cnblogs.com/rizzle/p/4534662.html

【JS笔记】私有变量相关推荐

  1. 我的Python学习笔记:私有变量

    一.私有变量的定义 在Python中,有以下几种方式来定义变量: xx:公有变量 _xx:单前置下划线,私有化属性或方法,类对象和子类可以访问,from somemodule import *禁止导入 ...

  2. python 私有变量怎么调用_我的Python学习笔记(三):私有变量

    一.私有变量的定义 在Python中,有以下几种方式来定义变量: xx:公有变量 _xx:单前置下划线,私有化属性或方法,类对象和子类可以访问,from somemodule import *禁止导入 ...

  3. es5 温故而知新 创建私有成员、私有变量、特权变量的方法

    其实js是不支持私有变量的.哪怕到es6的class语法.虽然有许多变相的方式.但非常冗余而不推崇. 这里介绍的实际上也不是class语法,而是普通的函数,并且利用IIFE(闭包)的方式来实现私有. ...

  4. 编程方法学10:私有变量的重要性

    前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 正文 本次的笔记对应的是第十节课,这堂课讲的是私有变量的重要性 1两个特殊的方法 setter和getter,变量私有化,实例不改变. 2Graph ...

  5. js笔记(一)js基础、程序结构、函数

    大标题 小节 一.js 基础 1. javascript的组成: 2. 运行js: 3. 打印信息: 4. 关键字var: 5. js中的数据类型: 6. NaN(not a number): 7. ...

  6. Python修改私有变量、统计访问次数、华摄氏度转换

    Python笔记Day7 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中, 实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问, ...

  7. python私有变量什么意思_python为什么有私有方法和变量

    1. 访问安全,其实也没有决定的安全 >>> class humer(object): ... def __init__(self, name): ... self.name = n ...

  8. python私有变量什么意思_Python私有变量解析

    这篇文章主要为大家详细介绍了Python私有变量解析,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 私有变量表示方法 ...

  9. python私有变量和继承_python私有变量子类如何继承-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 浅谈 python 中的 私有 ...

最新文章

  1. Topcoder SRM 663 DIV 1
  2. Spring Cloud Stream如何消费自己生产的消息?
  3. mysql 优化器不准_mysql 优化器有哪些可选开关
  4. 【小贴士】虚拟键盘与fixed带给移动端的痛!
  5. 〖Demo〗-- HAproxy配置文件操作
  6. Node.js自定义对象事件监听与发射
  7. android获取wifi mac地址吗,Android获取当前WiFi的MAC地址-适配所有版本
  8. PHP 实现定时任务的几种方法
  9. 十个最佳方法保护Windows文件服务器
  10. UML建模与软件工程
  11. 高淇python400集课堂笔记_魔力耳朵重磅推出1对1课堂“全班型”满足更多中国家庭教育需求...
  12. matlab中simulink无法打开,【转】Simulink打不开的解决办法
  13. 3、TM4之GPIO的输入输出
  14. 中移动投身开放大潮重整数据业务
  15. MySql数据的完整性
  16. Android展开的TextView和点击底部滚动到顶部
  17. Java导出数据到Word模板中
  18. Python实践4-守护线程
  19. 小米盒子访问计算机硬盘,无需电脑教你手机数据传到小米盒子外置硬盘的教程...
  20. 算法笔记(599. 两个列表的最小索引总和)

热门文章

  1. union-find算法分析(2)
  2. android连接Mysql数据库之JDBC方式
  3. mogilefsd同步速度调优
  4. 【问题记录】eclipse启动web项目时,spring会初始化两次
  5. 前端怎样获取后端生成的验证码图片,并且点击图片的时候改变验证码
  6. Convert PLY to VTK Using PCL 1.6.0 or PCL 1.8.0 使用PCL库将PLY格式转为VTK格式
  7. windows下python安装Numpy和Scipy模块
  8. Linux中压缩、解压缩(tar/zip/bzip2/gz/gzip/zip)
  9. 推荐些在线小制作小工具
  10. Outlook通过RPC或RPC over HTTPS访问Exchane邮箱:Exchange2003系列之四