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 相关文章推荐
Dojo之路:如何利用Dojo实现Drag and Drop效果
Apr 10 Javascript
JavaScrip单线程引擎工作原理分析
Sep 04 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
Sep 30 Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 Javascript
jquery滚动到顶部底部代码
Apr 20 Javascript
javascript表格的渲染组件
Jul 03 Javascript
javascript下拉列表中显示树形菜单的实现方法
Nov 17 Javascript
BootStrap入门学习第一篇
Aug 28 Javascript
jquery实现用户登陆界面(示例讲解)
Sep 06 jQuery
JavaScript设计模式之代理模式简单实例教程
Jul 03 Javascript
element-ui中按需引入的实现
Dec 25 Javascript
TypeScript 内置高级类型编程示例
Sep 23 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
实例(Smarty+FCKeditor新闻系统)
2007/01/02 PHP
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
2009/09/30 PHP
php下通过伪造http头破解防盗链的代码
2010/07/03 PHP
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
php递归实现无限分类生成下拉列表的函数
2010/08/08 PHP
php读取excel文件的简单实例
2013/08/26 PHP
ThinkPHP中的三大自动简介
2014/08/22 PHP
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
php视频拍照上传头像功能实现代码分享
2015/10/08 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
提高网站信任度的技巧
2008/10/17 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
JavaScript实现的双向跨域插件分享
2015/01/31 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
JS自定义滚动条效果简单实现代码
2020/10/27 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
微信小程序实现渐入渐出动画效果
2019/06/13 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
Django对models里的objects的使用详解
2019/08/17 Python
python通过实例讲解反射机制
2019/10/17 Python
Python实现Wordcloud生成词云图的示例
2020/03/30 Python
如何基于Python实现word文档重新排版
2020/09/29 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
西尔斯百货官网:Sears
2016/09/06 全球购物
工程造价与管理专业应届生求职信
2013/11/23 职场文书
经销商培训邀请函
2014/01/21 职场文书
会计专业自我评价
2014/02/12 职场文书
社区服务活动总结
2014/05/07 职场文书
自愿离婚协议书范文2014
2014/10/12 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android