javascript入门基础之私有变量

2019-12-24,,,

先看javascript的普通函数用法
复制代码 代码如下:
function sum(a,b){
var c = 10;
function add(){
c++;
}
add();
return a + b + c;
}
var d = sum(4,5);
alert(d) // 20

可以看出,外部要和函数sum进行交互,只能通过调用和返回值形式,无法访问里面的参数c和内部函数add()。这对于函数来说属于正常逻辑。
接下来看javascript的类用法
复制代码 代码如下:
function sum(pa,pb) {
this.a = pa;
this.b = pb;
this.show = function(){
alert(this.a + this.b);
}
}
var t = new sum(4,5);
t.show();
alert(t.a);

这里通过new创建了sum的对象t。通过t可以调用方法show来显示参数和,也可以直接取参数信息
结合两种方式就产生私有变量和方法的效果。

复制代码 代码如下:
function sum(pa,pb) {
var __c = 10; //私有变量
function __addc(){ //私有方法
__c++;
}
this.a = pa; //公有变量
this.b = pb; //公有变量
this.setc = function(pc){ //公有方法
__c = pc;
__addc();
}
this.show = function(){ //公有方法
alert(this.a + this.b + __c);
}
}
var t = new sum(4,5);
t.setc(1);
t.show();

从这个例子可以看出,外部无法调用var声明的变量和方法,但外部可以通过公有方法为桥梁实现与私有变量交互
建议:为了便于阅读与区分,私有变量和方法在命名前加一个或者两个下划线。

您可能感兴趣的文章:

  • js类中的公有变量和私有变量
  • javascript 动态生成私有变量访问器
  • JavaScript 模拟类机制及私有变量的方法及思路
  • 深入理解JavaScript中的块级作用域、私有变量与模块模式
  • JavaScript面向对象之私有静态变量实例分析
  • js面向对象之公有、私有、静态属性和方法详解
  • js基础知识(公有方法、私有方法、特权方法)
  • Javascript 构造函数,公有,私有特权和静态成员定义方法
  • javaScript 利用闭包模拟对象的私有属性
  • JavaScript私有变量实例详解

《javascript入门基础之私有变量.doc》

下载本文的Word格式文档,以方便收藏与打印。