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

Javascript
Jquery实战_读书笔记2 选择器
JQuery 确定css方框模型(盒模型Box Model)
jQuery 入门级学习笔记及源码
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
JavaScript 学习笔记(十四) 正则表达式
JQuery 操作Javascript对象和数组的工具函数小结
用JS写的一个TableView控件代码
JQuery 1.4 中的Ajax问题
window.onbeforeunload方法在IE下无法正常工作的解决办法
优化javascript的执行速度
jQuery 1.4 15个你应该知道的新特性(译)
js 模拟实现类似c#下的hashtable的简单功能代码
setTimeout与setInterval在不同浏览器下的差异
php gethostbyname获取域名ip地址函数详解
JavaScript 未结束的字符串常量常见解决方法
document.getElementById为空或不是对象的解决方法
javascript中利用数组实现的循环队列代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 54 ::
收藏到网摘: 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声明的变量和方法,但外部可以通过公有方法为桥梁实现与私有变量交互
建议:为了便于阅读与区分,私有变量和方法在命名前加一个或者两个下划线。