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 相关文章推荐
用jscript实现新建word文档
Jun 15 Javascript
jquery lazyload延迟加载技术的实现原理分析
Jan 24 Javascript
js隐藏与显示回到顶部按钮及window.onscroll事件应用
Jan 25 Javascript
Knockout text绑定DOM的使用方法
Nov 15 Javascript
深入理解javascript中的立即执行函数(function(){…})()
Jun 12 Javascript
JS实现队列与堆栈的方法
Apr 21 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
May 12 Javascript
JavaScript ES5标准中新增的Array方法
Jun 28 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
Dec 05 Javascript
VUE开发一个图片轮播的组件示例代码
Mar 06 Javascript
vue-ajax小封装实例
Sep 18 Javascript
使用Vue实现调用接口加载页面初始数据
Oct 28 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
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
用PHP和ACCESS写聊天室(三)
2006/10/09 PHP
Window下PHP三种运行方式图文详解
2013/06/11 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
学习php设计模式 php实现状态模式
2015/12/07 PHP
聊聊 PHP 8 新特性 Attributes
2020/08/19 PHP
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
巧用canvas
2017/01/21 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
JS判断时间段的实现代码
2017/06/14 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
详解React 服务端渲染方案完美的解决方案
2018/12/14 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
python re模块findall()函数实例解析
2018/01/19 Python
python实现自动发送报警监控邮件
2018/06/21 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
django创建最简单HTML页面跳转方法
2019/08/16 Python
详解python datetime模块
2020/08/17 Python
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
怎样客观的做好自我评价
2013/12/28 职场文书
演讲稿怎么写才完美
2014/01/02 职场文书
八项规定整改措施
2014/02/12 职场文书
2014年大学生就业规划书
2014/04/04 职场文书
项目采购员岗位职责
2014/04/15 职场文书
美食节目策划方案
2014/05/31 职场文书
幸福家庭标语
2014/06/27 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
上课睡觉检讨书300字
2014/11/18 职场文书
国富论读书笔记
2015/06/26 职场文书
2016大一新生军训感言
2015/12/08 职场文书
python实现剪贴板的操作
2021/07/01 Python
html5实现点击弹出图片功能
2021/07/16 HTML / CSS