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 相关文章推荐
javascript 继承实现方法
Aug 26 Javascript
探索Emberjs制作一个简单的Todo应用
Nov 07 Javascript
实现web打印的各种方法介绍及实现代码
Jan 09 Javascript
js控制表单不能输入空格的小例子
Nov 20 Javascript
JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
Jul 02 Javascript
浅析javascript函数表达式
Feb 10 Javascript
javascript原型继承工作原理和实例详解
Apr 07 Javascript
利用bootstrapValidator验证UEditor
Sep 14 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
Feb 14 Javascript
js 中rewrap-ajax.js插件实例代码
Oct 20 Javascript
vue之浏览器存储方法封装实例
Mar 15 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
Jul 24 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
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
2016/08/23 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
Js nodeType 属性全面解析
2013/11/14 Javascript
了解Javascript的模块化开发
2015/03/02 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
超赞的jQuery图片滑块动画特效代码汇总
2016/01/25 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
JavaScript组合模式学习要点
2016/08/26 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
jQuery进阶实践之利用最优雅的方式如何写ajax请求
2017/12/20 jQuery
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
Less 安装及基本用法
2018/05/05 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
JavaScript中变量、指针和引用功能与操作示例
2018/08/04 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
JS创建自定义对象的六种方法总结
2020/12/15 Javascript
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
Python numpy 常用函数总结
2017/12/07 Python
Python求解任意闭区间的所有素数
2018/06/10 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
什么是Oracle的后台进程background processes?都有哪些后台进程?
2012/04/26 面试题
计算机专业求职信
2014/06/02 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
起诉书范文
2015/05/20 职场文书
会议主持词开场白
2015/05/28 职场文书
退货证明模板
2015/06/23 职场文书