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 处理 URL 的两个函数代码
Aug 13 Javascript
js 判断上传文件大小及格式代码
Nov 13 Javascript
浅谈Sticky组件的改进实现
Mar 22 Javascript
JS获取子窗口中返回的数据实现方法
May 28 Javascript
JS简单获取及显示当前时间的方法
Aug 03 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
Aug 29 Javascript
vue.js学习之vue-cli定制脚手架详解
Jul 02 Javascript
echarts学习笔记之箱线图的分析与绘制详解
Nov 22 Javascript
Django模板继承 extend标签实例代码详解
May 16 Javascript
浅谈JS中几种轻松处理'this'指向方式
Sep 16 Javascript
JavaScript图片旋转效果实现方法详解
Jun 28 Javascript
基于angular实现树形二级表格
Oct 16 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
检查url链接是否已经有参数的php代码 添加 ? 或 &
2010/02/09 PHP
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
js的hasownproperty使用示例
2014/03/02 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
js如何判断用户是否是用微信浏览器
2014/06/05 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
javascript数组排序汇总
2015/07/07 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
JavaScript中的对象和原型(一)
2016/08/12 Javascript
AngularJS 实现弹性盒子布局的方法
2016/08/30 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
vue分类筛选filter方法简单实例
2017/03/30 Javascript
node.js 中间件express-session使用详解
2017/05/20 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
2017/06/21 Javascript
JS图片轮播与索引变色功能实例详解
2017/07/06 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
python迭代器的使用方法实例
2013/11/21 Python
对于Python编程中一些重用与缩减的建议
2015/04/14 Python
python获得一个月有多少天的方法
2015/06/04 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
英国豪华真皮和布艺沙发销售网站:Darlings of Chelsea
2018/01/05 全球购物
得到Class的三个过程是什么
2012/08/10 面试题
大学本科毕业生求职简历的自我评价
2013/10/09 职场文书
生产管理的三大手法
2013/11/11 职场文书
停车场管理协议书范本
2014/10/08 职场文书
安全承诺书
2015/01/19 职场文书
如何用python绘制雷达图
2021/04/24 Python