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 相关文章推荐
跨浏览器开发经验总结(四) 怎么写入剪贴板
May 13 Javascript
js中的屏蔽的使用示例
Jul 30 Javascript
JavaScript及jquey实现多个数组的合并操作
Sep 06 Javascript
Javascript基础教程之argument 详解
Jan 18 Javascript
浅谈JavaScript事件的属性列表
Mar 01 Javascript
Angular 2应用的8个主要构造块有哪些
Oct 17 Javascript
JavaScript中this的用法实例分析
Dec 19 Javascript
微信小程序 template模板详解及实例代码
Mar 09 Javascript
简单谈谈axios中的get,post方法
Jun 25 Javascript
vue基于element-ui的三级CheckBox复选框功能的实现代码
Oct 15 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
May 10 Javascript
jQuery开发仿QQ版音乐播放器
Jul 10 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
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
2010/05/26 PHP
PHP反射使用实例和PHP反射API的中文说明
2014/07/02 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
2014/11/24 PHP
浅析php工厂模式
2014/11/25 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
常用参考资料(手册)下载或者链接
2006/07/22 Javascript
Valerio 发布了 Mootools
2006/09/23 Javascript
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
jquery使用append(content)方法注意事项分享
2014/01/06 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
原生javascript实现Tab选项卡切换功能
2015/01/12 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
jQuery图片轮播滚动切换代码分享
2020/04/20 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
Pyqt QImage 与 np array 转换方法
2019/06/27 Python
python开发入门——列表生成式
2020/09/03 Python
使用CSS3配合IE滤镜实现渐变和投影的效果
2015/09/06 HTML / CSS
AmazeUI的JS表单验证框架实战示例分享
2020/08/21 HTML / CSS
Nanushka官网:匈牙利服装品牌
2019/08/14 全球购物
Engel & Bengel官网:婴儿推车、儿童房家具和婴儿设备
2019/12/28 全球购物
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
extern是什么意思
2016/03/10 面试题
服务员自我评价
2014/01/25 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
公司开业庆典策划方案
2014/06/04 职场文书
植物生产学专业求职信
2014/08/08 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
Python快速优雅的批量修改Word文档样式
2021/05/20 Python
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏