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 ReferenceError: $ is not defined 错误的处理办法
May 10 Javascript
javascript自定义函数参数传递为字符串格式
Jul 29 Javascript
jQuery获得指定元素坐标的方法
Apr 14 Javascript
text-align:justify实现文本两端对齐 兼容IE
Aug 19 Javascript
基于jQuery实现返回顶部实例代码
Jan 01 Javascript
laypage分页控件使用实例详解
May 19 Javascript
Node.js制作简单聊天室
Jan 12 Javascript
node.js连接MongoDB数据库的2种方法教程
May 17 Javascript
详解ES6之用let声明变量以及let loop机制
Jul 15 Javascript
如何优雅地在vue中添加权限控制示例详解
Mar 07 Javascript
Vue页面切换和a链接的本质区别详解
Nov 12 Javascript
vue实现鼠标移过出现下拉二级菜单功能
Dec 12 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中字符串与多进制转换函数的实例代码
2016/11/03 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
2014/12/16 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
javascript基础知识
2016/06/07 Javascript
jQuery动态生成Bootstrap表格
2016/11/01 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/06 Javascript
值得分享和收藏的xmlplus组件学习教程
2017/05/05 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
微信小程序动态显示项目倒计时
2019/06/20 Javascript
[02:50]【扭转乾坤,只此一招】DOTA2全新版本永雾林渊开启新篇章
2020/12/24 DOTA
Python多线程下载文件的方法
2015/07/10 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
详解Python循环作用域与闭包
2019/03/21 Python
浅谈Keras的Sequential与PyTorch的Sequential的区别
2020/06/17 Python
学python爬虫能做什么
2020/07/29 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
HTML5 video视频字幕的使用和制作方法
2018/05/03 HTML / CSS
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
HTML5 Canvas 实现K线图的示例代码
2019/12/23 HTML / CSS
英国在线药房:Chemist.co.uk
2019/03/26 全球购物
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
Linux如何压缩可执行文件
2013/10/21 面试题
工作的心得体会
2013/12/31 职场文书
上学迟到的检讨书
2014/01/11 职场文书
李培根演讲稿
2014/05/22 职场文书
优秀大专毕业生求职信
2014/08/04 职场文书
公司合并协议书范本
2014/09/30 职场文书
Python序列化模块JSON与Pickle
2022/06/05 Python
码云(gitee)通过git自动同步到阿里云服务器
2022/12/24 Servers