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 相关文章推荐
如何在标题栏显示框架内页面的标题
Feb 03 Javascript
jQuery选中select控件 无法设置selected的解决方法
Sep 01 Javascript
jquery实现网站超链接和图片提示效果
Mar 21 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
May 24 Javascript
Google 地图事件实例讲解
Aug 06 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
Nov 24 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
Jan 11 Javascript
layui点击导航栏刷新tab页的示例代码
Aug 14 Javascript
微信小程序实现单选功能
Oct 30 Javascript
微信小程序实现带参数的分享功能(两种方法)
May 17 Javascript
vue设置一开始进入的页面教程
Oct 28 Javascript
15分钟上手vue3.0(小结)
May 20 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实现禁用IE和火狐的缓存问题
2012/12/03 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
php调用自己java程序的方法详解
2016/05/13 PHP
javascript Zifa FormValid 0.1表单验证 代码打包下载
2007/06/08 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
jqGrid jQuery 表格插件测试代码
2011/08/23 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
2014/11/08 Javascript
javascript实现完美拖拽效果
2015/05/06 Javascript
javascript实现获取字符串hash值
2015/05/10 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
2016/12/08 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
vue+canvas实现拼图小游戏
2020/09/18 Javascript
利用Python的Flask框架来构建一个简单的数字商品支付解决方案
2015/03/31 Python
编写Python脚本抓取网络小说来制作自己的阅读器
2015/08/20 Python
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
Tensorflow环境搭建的方法步骤
2018/02/07 Python
Python实现针对json中某个关键字段进行排序操作示例
2018/12/25 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
2019/06/11 Python
Python+OpenCv制作证件图片生成器的操作方法
2019/08/21 Python
Python socket聊天脚本代码实例
2020/01/02 Python
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
2015年度个人思想工作总结
2015/04/08 职场文书
实现AJAX异步调用和局部刷新的基本步骤
2022/03/17 Javascript