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学习笔记(一) js基本语法
Oct 25 Javascript
js简单的弹出框有关闭按钮
May 05 Javascript
浅析node.js中close事件
Nov 26 Javascript
延时加载JavaScript代码提高速度
Dec 27 Javascript
JavaScript与jQuery实现的闪烁输入效果
Feb 18 Javascript
JS中的二叉树遍历详解
Mar 18 Javascript
论Bootstrap3和Foundation5网格系统的异同
May 16 Javascript
深入理解js数组的sort排序
May 28 Javascript
Vue实战之vue登录验证的实现代码
Oct 31 Javascript
Vue.js 使用v-cloak后仍显示变量的解决方法
Nov 19 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
Jan 15 jQuery
浅谈js闭包理解
Mar 28 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
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
2007/01/29 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
2013/12/11 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
使用jQuery仿苹果官网焦点图特效
2014/12/23 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
2017/02/14 Javascript
angular2路由切换改变页面title的示例代码
2017/08/23 Javascript
Vue验证码60秒倒计时功能简单实例代码
2018/06/22 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
详解Vue源码之数据的代理访问
2018/12/11 Javascript
jQuery实现倒计时功能完整示例
2020/06/01 jQuery
基于Python的XSS测试工具XSStrike使用方法
2017/07/29 Python
selenium+python实现自动化登录的方法
2018/09/04 Python
Python3爬虫全国地址信息
2019/01/05 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
暑期实践思想汇报
2014/01/06 职场文书
优秀广告词大全
2014/03/19 职场文书
小学安全汇报材料
2014/08/14 职场文书
小学生放飞梦想演讲稿
2014/08/26 职场文书
法定代表人资格证明书
2014/09/11 职场文书
企业授权委托书范本
2014/09/22 职场文书
法定代表人身份证明书(含说明)
2014/10/02 职场文书
党的群众路线教育实践活动批评与自我批评范文
2014/10/16 职场文书
县委务虚会发言材料
2014/10/20 职场文书
小学生优秀评语
2014/12/29 职场文书
爱心捐款活动总结
2015/05/09 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
2015年度女工工作总结
2015/10/22 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书
超外差式晶体管收音机的组装与统调
2021/04/22 无线电
spring cloud 配置中心native配置方式
2021/09/25 Java/Android