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操作对象数组的实现代码
Apr 27 Javascript
js下拉框二级关联菜单效果代码具体实现
Aug 03 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
Feb 02 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
Jun 21 Javascript
web 前端常用组件之Layer弹出层组件
Sep 22 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
Oct 31 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
Dec 20 Javascript
浅谈node的事件机制
Oct 09 Javascript
Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)
Aug 27 Javascript
利用angular自动编译andriod APK的绕坑经历分享
Mar 08 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
Nov 10 Javascript
优化Vue中date format的性能详解
Jan 13 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
使用Sphinx对索引进行搜索
2013/06/25 PHP
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
2017/02/17 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
PHP实现百度人脸识别
2019/05/06 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
更正确的asp冒泡排序
2007/05/24 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
2014/03/05 Javascript
javascript实例--教你实现扑克牌洗牌功能
2014/05/15 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
基于Javascript实现文件实时加载进度的方法
2016/10/12 Javascript
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
2018/11/23 Javascript
jQuery实现购物车的总价计算和总价传值功能
2018/11/28 jQuery
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
2019/05/15 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
2019/10/30 Javascript
js实现旋转的星空效果
2019/11/01 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
vue开发移动端底部导航条功能
2020/04/08 Javascript
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
Python正则表达式匹配HTML页面编码
2015/04/08 Python
详解python3中zipfile模块用法
2018/06/18 Python
python使用多进程的实例详解
2018/09/19 Python
python在不同条件下的输入与输出
2020/02/13 Python
在Mac中配置Python虚拟环境过程解析
2020/06/22 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
Luxplus荷兰:以会员价购买美容产品等,独家优惠
2019/08/30 全球购物
三分钟自我介绍演讲稿
2014/08/21 职场文书
学校个人对照检查材料
2014/08/26 职场文书
2014年教务处工作总结
2014/12/03 职场文书
2016年教师寒假学习心得体会
2015/10/09 职场文书
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL