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滚动组件(vticker.js)实现页面动态数据的滚动效果
Jul 03 Javascript
解析Javascript中中括号“[]”的多义性
Dec 03 Javascript
js 获取、清空input type="file"的值(示例代码)
Dec 24 Javascript
基于jQuery+JSON的省市二三级联动效果
Jun 05 Javascript
jQuery移动端图片上传组件
Jun 12 Javascript
JavaScript实现开关等效果
Sep 08 Javascript
微信小程序使用modal组件弹出对话框功能示例
Nov 29 Javascript
Vue常用指令详解分析
Aug 19 Javascript
在Vue项目中引入JQuery-ui插件的讲解
Jan 27 jQuery
通过说明与示例了解js五种设计模式
Jun 17 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
Sep 26 Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
Nov 04 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
删除无限级目录与文件代码共享
2006/07/12 PHP
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
PHP 根据IP地址控制访问的代码
2010/04/22 PHP
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
javascript 基础篇2 数据类型,语句,函数
2012/03/14 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
基于jquery自定义的漂亮单选按钮RadioButton
2013/11/19 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
JavaScript绑定事件监听函数的通用方法
2016/05/14 Javascript
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
vue瀑布流组件实现上拉加载更多
2020/03/10 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
JavaScript实现表单验证功能
2020/12/09 Javascript
[45:46]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS DT
2014/05/23 DOTA
python读取Android permission文件
2013/11/01 Python
Python读取mp3中ID3信息的方法
2015/03/05 Python
python验证码识别教程之利用滴水算法分割图片
2018/06/05 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
python numpy存取文件的方式
2020/04/01 Python
python实现横向拼接图片
2020/03/23 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
你所知道的集合类都有哪些?主要方法?
2012/12/31 面试题
鞋类设计与工艺专业销售求职信
2013/11/01 职场文书
网站客服岗位职责
2014/04/05 职场文书
计划生育诚信协议书
2014/11/02 职场文书
祝福语集锦:给百岁老人祝寿贺词
2019/11/19 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android