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


Posted in Javascript onMay 04, 2010

上两节讲了 JavaScript 面向对象之命名空间 与 javascript 面向对象的JavaScript类,大家可以先看上面的再继续往下看。

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

//声明类,就是一个方法,其实在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对象,所以的它的所有成员都是公开的,都是对外可见的!

Javascript 相关文章推荐
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
Aug 28 Javascript
JavaScript中使用Callback控制流程介绍
Mar 16 Javascript
学习JavaScript设计模式之策略模式
Jan 12 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
Jan 27 Javascript
bootstrap select插件封装成Vue2.0组件
Apr 17 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
Jul 20 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
Jul 22 jQuery
JavaScript之Blob对象类型的具体使用方法
Nov 29 Javascript
vue.js this.$router.push获取不到params参数问题
Mar 03 Javascript
js实现抽奖的两种方法
Mar 19 Javascript
基于vue实现简易打地鼠游戏
Aug 21 Javascript
k8s node节点重新加入master集群的实现
Feb 22 Javascript
javascript 面向对象的JavaScript类
May 04 #Javascript
JavaScript 面向对象之命名空间
May 04 #Javascript
10个实用的脚本代码工具
May 04 #Javascript
利用location.hash实现跨域iframe自适应
May 04 #Javascript
Array.prototype 的泛型应用分析
Apr 30 #Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
Apr 30 #Javascript
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
Apr 29 #Javascript
You might like
php array_intersect()函数使用代码
2009/01/14 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
2014/07/28 PHP
一张表搞清楚php is_null、empty、isset的区别
2015/07/07 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
PHP实现多图上传(结合uploadify插件)思路分析
2016/11/30 PHP
javascript 鼠标滚轮事件
2009/04/09 Javascript
用JavaScript修改CSS属性的代码
2013/05/06 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
Angular实现响应式表单
2017/08/04 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
详解ES6 系列之异步处理实战
2018/10/26 Javascript
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
layui使用label标签的方法
2019/09/14 Javascript
Jquery 获取相同NAME 或者id删除行操作
2020/08/24 jQuery
python中xrange和range的区别
2014/05/13 Python
python中enumerate函数用法实例分析
2015/05/20 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
python中实现将多个print输出合成一个数组
2018/04/19 Python
对python实现合并两个排序链表的方法详解
2019/01/23 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
python xlwt如何设置单元格的自定义背景颜色
2019/09/03 Python
Python实现名片管理系统
2020/02/14 Python
Pytorch 使用CNN图像分类的实现
2020/06/16 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
函授自我鉴定
2013/11/06 职场文书
企业行政文员岗位职责
2013/12/03 职场文书
《三个小伙伴》教学反思
2014/04/11 职场文书
我的梦想演讲稿1000字
2014/08/21 职场文书
初中同学会活动方案
2014/08/22 职场文书
优秀党员主要事迹范文
2015/11/05 职场文书