JavaScript 对象成员的可见性说明


Posted in Javascript onOctober 16, 2009

JavaScript对象构造的可见性定义可以分为以下几种:
  1,私有属性(private properties)


通过var关键字定义对象构造中变量的作用域,该变量只能在对象构造方法的作用域内被访问。如:

function VariableTest() 
{ 
var myVariable;//private 
} 
var vt = new VariableTest(); 
vt.myVariable;//这里会出现undefined异常

2,私有方法(private methods)

与私有属性类似,只能在对象构造方法作用域内被访问。如:

function MethodTest() 
{ 
var myMethod = function()//private 
{ 
alert("private method"); 
} 
this.invoke = function() 
{ 
//能够访问到myMethod 
myMehtod(); 
} 
} 
var mt = new MethodTest(); 
mt.myMethod();//错误。使用trycatch的话,可捕获“对象不支持此属性或方法”异常 
mt.invoke();

3,公共属性(public properties)


有两种定义公共属性的途径:

(1)通过this关键字来定义。如:

function PrivilegedVariable() 
{ 
this.variable = "privileged variable"; 
} 
var pv = new PrivilegedVariable(); 
pv.variable;//返回 "privileged variable"

(2)通过构造方法的原型来定义。如:

function PublicVariable(){} 
PublicVariable.prototype.variable = "public variable"; 
var pv = new PublicVariable(); 
pv.variable;//返回"public variable"

4,公共方法(public methods)

同理,有两种定义公共方法的途径。


(1)通过this关键字来定义。(2)通过构造方法的原型来定义。

这里省略。。。。。。。。。。。

5,静态属性(static properties)

直接为对象构造方法添加的属性,不能被对象实例访问,只能供构造方法自身使用。如:

function StaticVariable(){} 
StaticVariable.variable = "static variable"; 
var sv = new StaticVariable(); 
sv.variable;//返回"undefined" 
StaticVariable.prototype.variable;//返回"undefined" 
StaticVariable.variable;//返回"static variable"

6,静态方法(static methods)


直接为对象构造方法添加的方法,不能被对象实例访问,只能供构造方法自身使用。

代码省略。。。。。。。。

Javascript 相关文章推荐
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
Mar 01 Javascript
使用javascript实现监控视频播放并打印日志
Jan 05 Javascript
走进AngularJs之过滤器(filter)详解
Feb 17 Javascript
详解数组Array.sort()排序的方法
May 09 Javascript
js实现单张图片平移切换效果
Oct 11 Javascript
打造通用的匀速运动框架(实例讲解)
Oct 17 Javascript
微信小程序如何获取用户手机号
Jan 26 Javascript
axios的拦截请求与响应方法
Aug 11 Javascript
微信小程序Getuserinfo解决方案图解
Aug 24 Javascript
ligerUI的ligerDialog关闭刷新的方法
Sep 27 Javascript
js实现飞机大战小游戏
Aug 26 Javascript
Javascript设计模式之原型模式详细
Oct 05 Javascript
Javascript 圆角div的实现代码
Oct 15 #Javascript
IE Firefox 使用自定义标签的区别
Oct 15 #Javascript
JavaScript 基础知识 被自己遗忘的
Oct 15 #Javascript
javascript 操作cookies及正确使用cookies的属性
Oct 15 #Javascript
extjs 学习笔记(三) 最基本的grid
Oct 15 #Javascript
JavaScript Array扩展实现代码
Oct 14 #Javascript
JavaScript 动态创建VML的方法
Oct 14 #Javascript
You might like
Laravel框架表单验证详解
2014/09/04 PHP
php实用代码片段整理
2016/11/12 PHP
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
js实现快速分享功能(你的文章分享工具)
2013/06/25 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
js实现飞入星星特效代码
2014/10/17 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
深入理解JS异步编程-Promise
2019/06/03 Javascript
详解解决小程序中webview页面多层history返回问题
2019/08/20 Javascript
[26:24]完美副总裁、DOTA2负责人蔡玮专访:电竞如人生
2014/09/11 DOTA
python的Template使用指南
2014/09/11 Python
python数据结构之图深度优先和广度优先实例详解
2015/07/08 Python
详解flask表单提交的两种方式
2018/07/21 Python
Python获取数据库数据并保存在excel表格中的方法
2019/06/12 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
Python字符串hashlib加密模块使用案例
2020/03/10 Python
对Matlab中共轭、转置和共轭装置的区别说明
2020/05/11 Python
python与pycharm有何区别
2020/07/01 Python
目前不被任何主流浏览器支持的CSS3属性汇总
2014/07/21 HTML / CSS
CSS3 对过渡(transition)进行调速以及延时
2020/10/21 HTML / CSS
美国球鞋寄卖网站:Stadium Goods
2018/05/09 全球购物
ETO男装官方网店:ETO Jeans
2019/02/28 全球购物
汽车专业毕业生自荐信
2013/11/03 职场文书
酒店司机岗位职责
2013/12/14 职场文书
师德学习感言
2014/01/31 职场文书
入学生会自荐书范文
2014/02/05 职场文书
李强优秀员工观后感
2015/06/16 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
python ansible自动化运维工具执行流程
2021/06/24 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
2021/06/26 Python
电频谱管理的原则是什么
2022/02/18 无线电
python读取mat文件生成h5文件的实现
2022/07/15 Python