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快速解决input中placeholder值在ie中无法支持的问题
Jan 02 Javascript
Jquery实现自定义弹窗示例
Mar 12 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
Mar 03 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
Mar 03 Javascript
如何通过js实现图片预览功能【附实例代码】
Mar 30 Javascript
详解Angular.js的$q.defer()服务异步处理
Nov 06 Javascript
浅析JavaScript中var that=this
Feb 17 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
Jun 01 jQuery
浅谈vue父子组件怎么传值
Jul 21 Javascript
JavaScript实现留言板案例
Mar 17 Javascript
jquery实现简易验证插件封装
Sep 13 jQuery
原生js生成图片验证码
Oct 11 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
如何去掉文章里的 html 语法
2006/10/09 PHP
PHP新手上路(三)
2006/10/09 PHP
codeigniter框架批量插入数据
2014/01/09 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
PHP实现模仿socket请求返回页面的方法
2014/11/04 PHP
一个符号插入器 中用到的js代码
2007/09/04 Javascript
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
2013/06/05 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
js实现字符全排列算法的简单方法
2017/05/01 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
基于JS递归函数细化认识及实用实例(推荐)
2017/08/07 Javascript
vue中element组件样式修改无效的解决方法
2018/02/03 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
浅谈HTTP 缓存的那些事儿
2018/10/17 Javascript
每天学点Vue源码之vm.$mount挂载函数
2019/03/11 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
WEEX环境搭建与入门详解
2019/10/16 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
2020/11/01 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
python日志记录模块实例及改进
2017/02/12 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
在PyCharm下使用 ipython 交互式编程的方法
2019/01/17 Python
创建Shapefile文件并写入数据的例子
2019/11/26 Python
如何将Pycharm中调整字体大小的方式设置为"ctrl+鼠标滚轮上下滑"
2020/11/17 Python
使用CSS3来实现滚动视差效果的教程
2015/08/24 HTML / CSS
HTML5 Canvas入门学习教程
2016/03/17 HTML / CSS
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
老师推荐信
2013/10/28 职场文书
高中数学教师求职信
2013/10/30 职场文书
服装设计专业自荐书范文
2013/12/30 职场文书
公司投资建议书
2014/05/16 职场文书
java实现对Hadoop的操作
2021/07/01 Java/Android
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js