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 相关文章推荐
javascript:void(0)的真正含义实例分析
Aug 20 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
Sep 12 Javascript
基于node.js的快速开发透明代理
Dec 25 Javascript
用JQuery实现表格隔行变色和突出显示当前行的代码
Feb 10 Javascript
jquery 无限级联菜单案例分享
Mar 26 Javascript
JS中prototype关键字的功能介绍及使用示例
Jul 21 Javascript
简单常用的幻灯片播放实现代码
Sep 25 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
Dec 16 Javascript
jQuery截取指定长度字符串代码
Aug 21 Javascript
微信小程序云开发实现云数据库读写权限
May 17 Javascript
jquery实现直播弹幕效果
Nov 28 jQuery
vuex中store存储store.commit和store.dispatch的用法
Jul 24 Javascript
第一个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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
PHP脚本中include文件出错解决方法
2008/11/20 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
JavaScript 设计模式学习 Singleton
2009/07/27 Javascript
js异步加载的三种解决方案
2013/03/04 Javascript
js中复制行和删除行的操作实例
2013/06/25 Javascript
jQuery判断div随滚动条滚动到一定位置后停止
2014/04/02 Javascript
javascript设计模式之解释器模式详解
2014/06/05 Javascript
11种ASP连接数据库的方法
2015/09/18 Javascript
基于jQuery实现的菜单切换效果
2015/10/16 Javascript
基于Angularjs实现分页功能
2016/05/30 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
Angular2 PrimeNG分页模块学习
2017/01/14 Javascript
ES6新特性之函数的扩展实例详解
2017/04/01 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
JavaScript实现简单的四则运算计算器完整实例
2017/04/28 Javascript
详解通过JSON数据使用VUE.JS
2017/05/26 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
小程序ios音频播放没声音问题的解决
2018/07/11 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
JS中如何轻松遍历对象属性的方式总结
2019/08/06 Javascript
python字典键值对的添加和遍历方法
2016/09/11 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
windows下的pycharm安装及其设置中文菜单
2020/04/23 Python
中国最大的团购网站:聚划算
2016/09/21 全球购物
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
C#和SQL Server的面试题
2016/08/12 面试题
总经理的岗位职责
2014/02/23 职场文书
超市中秋节促销方案
2014/03/21 职场文书
建筑施工安全责任书
2014/07/24 职场文书
个人租房协议书范本
2014/09/30 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
员工试用期转正自我评价
2015/03/10 职场文书
民事二审代理词
2015/05/25 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python