JavaScript 面向对象的 私有成员和公开成员


Posted in Javascript onMay 13, 2010

其实很简单,废话少说,看了下面的代码及注释相信你就会一目了然!

//声明类,就是一个方法,其实在JavaScript中,命名空间、类、成员.... 一切皆对象 
MyClass =function(){ 
var _this=this; 
//私有变量 
var aa="11"; 
//公开变量 
this.bb="22"; 
//私有方法 
function fun1(){ 
alert(aa); 
alert(_this.bb); 
} 
//私有方法 
var fun2=function(){ 
alert(aa); 
alert(_this.bb); 
} 
//公开方法 
this.fun3=function(){ 
alert(aa); 
alert(_this.bb); 
} 
} 
//测试如下: 
var mc=new MyClass(); 
mc.aa="AA";//错误 
mc.bb="BB";//正确 
mc.fun1();//错误 
mc.fun2();//错误 
mc.fun3();//正确

一言以蔽之:在类的内部
用 var 关键字声明的变量或方法是私有的;
用function 关键字声明的方法是私有的;
用this关键字声明的变量或方法是公开的。

以上说的都是针对于实例类而言的,而对于静态类那就更简单了,JavaScript静态类其实就是一个json对象,所以的它的所有成员都是公开的,都是对外可见的!

作者: 祥叔
出处:http://xumingxiang.cnblogs.com/

Javascript 相关文章推荐
非常漂亮的JS代码经典广告
Oct 21 Javascript
jquery 年会抽奖程序
Dec 22 Javascript
JS+CSS实现一个气泡提示框
Aug 18 Javascript
基于编写jQuery的无缝滚动插件
Aug 02 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
Nov 07 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
Mar 09 Javascript
Javascript实现登录记住用户名和密码功能
Mar 22 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
Aug 18 Javascript
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
Apr 22 Javascript
基于elementUI使用v-model实现经纬度输入的vue组件
May 12 Javascript
JavaScript实现简单的弹窗效果
May 19 Javascript
el-table表头根据内容自适应完美解决表头错位和固定列错位
Jan 07 Javascript
限制文本框输入N个字符的js代码
May 13 #Javascript
javascript preload&lazy load
May 13 #Javascript
javascript 当前日期转化为中文的实现代码
May 13 #Javascript
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
May 13 #Javascript
IE8下关于querySelectorAll()的问题
May 13 #Javascript
关于可运行代码无法正常执行的使用说明
May 13 #Javascript
jquery validate.js表单验证的基本用法入门
May 13 #Javascript
You might like
php中3des加密代码(完全与.net中的兼容)
2012/08/02 PHP
PHP 多任务秒级定时器的实现方法
2018/05/13 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
JavaScript this 深入理解
2009/07/30 Javascript
跟着Jquery API学Jquery之一 选择器
2010/04/07 Javascript
JSON为什么那样红为什么要用json(另有洞天)
2012/12/26 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
2013/10/18 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
JS和canvas实现俄罗斯方块
2017/03/14 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
jQuery:unbind方法的使用详解
2017/08/14 jQuery
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
uni-app实现点赞评论功能
2019/11/25 Javascript
python判断端口是否打开的实现代码
2013/02/10 Python
Python3读取UTF-8文件及统计文件行数的方法
2015/05/22 Python
Python Sql数据库增删改查操作简单封装
2016/04/18 Python
Django 前后台的数据传递的方法
2017/08/08 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
2019/04/29 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
如何基于Django实现上下文章跳转
2020/09/16 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
2020/09/28 Python
使用phonegap克隆和删除联系人的实现方法
2017/03/31 HTML / CSS
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
售后服务承诺书
2014/03/26 职场文书
高三毕业典礼主持词
2014/03/27 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
高考作弊检讨书1500字
2015/02/16 职场文书
2016年中秋节寄语大全
2015/12/07 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS