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 相关文章推荐
Javascript中判断变量是数组还是对象(array还是object)
Aug 14 Javascript
jquery获取一组checkbox的值(实例代码)
Nov 04 Javascript
RequireJS入门一之实现第一个例子
Sep 30 Javascript
js采用concat和sort将N个数组拼接起来的方法
Jan 21 Javascript
浅谈JS原型对象和原型链
Mar 02 Javascript
模仿password输入框的实现代码
Jun 07 Javascript
js中常用的Tab切换效果(推荐)
Aug 30 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
Sep 04 Javascript
canvas红包照片实例分享
Feb 28 Javascript
JavaScript实现放大镜效果代码示例
Apr 29 Javascript
ES11屡试不爽的新特性,你用上了几个
Oct 21 Javascript
JavaScript如何利用Promise控制并发请求个数
May 14 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
Zerg兵种介绍
2020/03/14 星际争霸
php实现检查文章是否被百度收录
2015/01/27 PHP
PHP中Http协议post请求参数
2015/11/02 PHP
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
2019/03/08 PHP
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
2006/06/26 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
js定时器怎么写?就是在特定时间执行某段程序
2013/10/11 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
网页右下角弹出窗体实现代码
2014/06/05 Javascript
jQuery实现的调整表格行tr上下顺序
2016/01/10 Javascript
详谈jQuery.load()和Jsp的include的区别
2017/04/12 jQuery
js异步编程小技巧详解
2017/08/14 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
小小聊天室Python代码实现
2016/08/17 Python
Python二叉树定义与遍历方法实例分析
2018/05/25 Python
Django开发中的日志输出的方法
2018/07/02 Python
Python中利用aiohttp制作异步爬虫及简单应用
2018/11/29 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
在django项目中导出数据到excel文件并实现下载的功能
2020/03/13 Python
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
路德维希•贝克(LUDWIG BECK)中文官网:德国大型美妆百货
2020/09/19 全球购物
AJax面试题
2014/11/25 面试题
公司请假条范文
2014/04/11 职场文书
模具设计与制造专业自荐书
2014/07/01 职场文书
党建工作汇报材料
2014/12/24 职场文书
大国崛起日本观后感
2015/06/02 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
JavaScript获取URL参数的方法分享
2022/04/07 Javascript
基于PyQt5制作一个群发邮件工具
2022/04/08 Python
我家女友可不止可爱呢 公开OP主题曲无字幕动画MV
2022/04/11 日漫