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 相关文章推荐
msn上的tab功能Firefox对childNodes处理的一个BUG
Jan 21 Javascript
JavaScript随机排序(随即出牌)
Sep 17 Javascript
仿百度的关键词匹配搜索示例
Sep 25 Javascript
JS仿百度搜索自动提示框匹配查询功能
Nov 21 Javascript
动态加载脚本提升javascript性能
Feb 24 Javascript
php实例分享之实现显示网站运行时间
May 20 Javascript
JS 新增Cookie 取cookie值 删除cookie 举例详解
Oct 10 Javascript
JS控制网页动态生成任意行列数表格的方法
Mar 09 Javascript
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
Mar 13 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
Oct 15 Javascript
详解VUE 数组更新
Dec 16 Javascript
js中的面向对象之对象常见创建方法详解
Dec 16 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
php一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
discuz7 phpMysql操作类
2009/06/21 PHP
destoon复制新模块的方法
2014/06/21 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
在 IE 中调用 javascript 打开 Excel 表
2006/12/21 Javascript
javascript编程起步(第一课)
2007/01/10 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
jquery win 7透明弹出层效果的简单代码
2013/08/06 Javascript
getAsDataURL在Firefox7.0下无法预览本地图片的解决方法
2013/11/15 Javascript
Jquery如何实现点击时高亮显示代码
2014/01/22 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
基于jQuery实现的图片切换焦点图整理
2014/12/07 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
2016/09/09 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
Javascript 之封装(Package)
2018/09/14 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
2019/06/07 Javascript
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
js实现简易ATM功能
2020/10/27 Javascript
Python文件操作类操作实例详解
2014/07/11 Python
在Django中同时使用多个配置文件的方法
2015/07/22 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
tensorflow模型转ncnn的操作方式
2020/05/25 Python
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
中专自荐信
2013/10/13 职场文书
餐饮部总监岗位职责范文
2014/02/13 职场文书
简单通用的简历自我评价
2014/09/21 职场文书
财务部岗位职责范本
2015/04/14 职场文书
道歉信范文
2015/05/12 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers