javascript入门基础之私有变量


Posted in Javascript onFebruary 23, 2010

先看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声明的变量和方法,但外部可以通过公有方法为桥梁实现与私有变量交互
建议:为了便于阅读与区分,私有变量和方法在命名前加一个或者两个下划线。
Javascript 相关文章推荐
JQuery优缺点分析说明
Jun 09 Javascript
JS模块与命名空间的介绍
Mar 22 Javascript
JQuery弹出层示例可自定义
May 19 Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 Javascript
超赞的动手创建JavaScript框架的详细教程
Jun 30 Javascript
jquery实现九宫格大转盘抽奖
Nov 13 Javascript
解决jQuery使用JSONP时产生的错误
Dec 02 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
Oct 04 Javascript
微信小程序 点击控件后选中其它反选实例详解
Feb 21 Javascript
angular之ng-template模板加载
Nov 09 Javascript
layer弹出层父子页面事件相互调用方法
Aug 17 Javascript
jQuery中DOM操作原则实例分析
Aug 01 jQuery
第一个JavaScript入门基础 document.write输出
Feb 22 #Javascript
jQuery入门问答 整理的几个常见的初学者问题
Feb 22 #Javascript
jQuery 操作下拉列表框实现代码
Feb 22 #Javascript
JavaScript 编写匿名函数的几种方法
Feb 21 #Javascript
jquery 得到当前页面高度和宽度的两个函数
Feb 21 #Javascript
jquery validator 插件增加日期比较方法
Feb 21 #Javascript
javascript 定义新对象方法
Feb 20 #Javascript
You might like
PHP脚本的10个技巧(4)
2006/10/09 PHP
PHP不用递归遍历目录下所有文件的代码
2014/07/04 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
2019/09/23 PHP
浅谈PHP array_search 和 in_array 函数效率问题
2019/10/15 PHP
用jQuery技术实现Tab页界面之二
2009/09/21 Javascript
js Date自定义函数 延迟脚本执行
2010/03/10 Javascript
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
7个让JavaScript变得更好的注意事项
2015/01/28 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
小程序文字跑马灯效果
2018/12/28 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
基于JavaScript实现猜数字游戏代码实例
2020/07/30 Javascript
JavaScript实现多球运动效果
2020/09/07 Javascript
Python松散正则表达式用法分析
2016/04/29 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
tensorflow 获取模型所有参数总和数量的方法
2018/06/14 Python
Python第三方库h5py_读取mat文件并显示值的方法
2019/02/08 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
Python数据可视化:饼状图的实例讲解
2019/12/07 Python
基于PyTorch中view的用法说明
2021/03/03 Python
英国家具、照明、家居用品网上商店:Wayfair.co.uk
2020/02/13 全球购物
Linux不知道文件后缀名怎么判断文件类型
2014/08/21 面试题
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
企业文化建设实施方案
2014/03/22 职场文书
大学生求职信范文
2014/05/24 职场文书
新教师岗前培训方案
2014/06/05 职场文书
无子女夫妻离婚协议书(4篇)
2014/10/20 职场文书
公司总经理岗位职责
2015/04/01 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python