javascript公共变量
来源:互联网 发布:linux保存文件并退出 编辑:程序博客网 时间:2024/05/17 06:31
javascript函数的实例间共享同一个变量(比如用来记录实例化次数)
有两种方法:
方法一:使用原型链来存储这个共有变量,且共有变量的类型是数组(必须为数组)
function A(){}
A.prototype.count=[0];
var a1=new A();
var a2=new A();
a1.count[0]=90;
console.log(a1.count);console.log(a2.count);打印结果:
[ 90 ]
[ 90 ]-这说明a1和a2这两个实例是共享count这个变量的。但是有点必须说明,a1.count和a2.count并不是同一个变量,他们是指向同一块内存的两个变量。
-关于数组的这个特性可以认为是javascript中的数组类似于C++中的链表,例如var d=[2,4];那么var c=d的时候c和d指向的是同一块内存区域,并没有为c重新开辟一块新的内存。
方法二:使用闭包实现
//闭包实现实例间共享变量
var A=(function(){
var count=0;
function A() {
this.getcount = function () {
return count;
}
this.setcount = function (value) {
count = value;
}
}
return A;
})();
var a1=new A;var a2=new A;
console.log(a1.getcount());
console.log(a2.getcount());打印结果如下:
23
23-上面结果可以看到实例a1和a2的都可以对同一个变量进行操作,符合共有变量的要求,只是所有对count的操作都必须通过函数来进行,不能直接对count操作,这也正是闭包的原理,外界可以访问到某个作用域内的变量,但是这是间接的。
- javascript公共变量
- javascript 中公共/私有变量、方法、特权
- JavaScript中定义类的公共变量和私有变量
- 设置公共变量
- android 公共变量使用
- javascript公共方法
- JavaScript公共验证函数
- delphi多线程访问公共变量
- delphi多线程访问公共变量
- 前端页面定义公共变量
- JavaScript变量
- JavaScript 变量
- JavaScript 变量
- JavaScript 变量
- JavaScript 变量
- javascript变量
- javascript 变量
- JavaScript 变量
- 分页查询的那些坑和各种技巧
- 数据结构学习——单链表ADT(程序化)
- 求三个长方体的体积
- Launch into space
- 【javascript笔记】关于javascript中的闭包<五>
- javascript公共变量
- 开始写博客了
- c++ 虚函数
- 完整java开发中JDBC连接数据库代码和步骤
- libxml2移植到OK6410 ARM开发板上...
- Java中的类集框架
- HTTP概述
- 线性表概述
- Android开源框架(UI)