当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript入门基础之私有变量

Javascript
清华大学出版的事半功倍系列 javascript全部源代码
一个不错的渐隐文字效果
JavaScript多线程的实现方法
广告代码静态化js通用函数
“增强js程序代码的健壮性”之我见大量示例代码
国外JavaScript经典封装集合整理
Highslide JS
一个漂亮的下拉列表,去掉了灰色倒三角按钮
Add a Picture to a Microsoft Word Document
Javascript注入技巧
用JS实现HTML标签替换效果
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
模拟弹出菜单的代码
收藏Javascript中常用的55个经典技巧
Track Image Loading效果代码分析
js小技巧--自动隐藏红叉叉
JavaScript延时效果比较不错的
非常酷的js图形渐隐导航菜单栏
科讯商业版中用到的ajax空间与分页函数
js实现的修改div里img标签的src属性

Javascript 中的 javascript入门基础之私有变量


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 291 ::
收藏到网摘: n/a

开始接触这门语言时,可能都会觉得这门语言缺少访问控制符(如public、private、protected),从而导致不能定义私有变量和私有方法。但经过进一步了解就会知道javascript同样可以有私有变量。 先看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声明的变量和方法,但外部可以通过公有方法为桥梁实现与私有变量交互
建议:为了便于阅读与区分,私有变量和方法在命名前加一个或者两个下划线。