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 相关文章推荐
jQuery powerFloat万能浮动层下拉层插件使用介绍
Dec 27 Javascript
IE下使用cloneNode注意事项分享
Nov 22 Javascript
js、jquery图片动画、动态切换示例代码
Jun 03 Javascript
推荐10 款 SVG 动画的 JavaScript 库
Mar 24 Javascript
JS三级可折叠菜单实现方法
Feb 29 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
Jan 13 Javascript
JS及JQuery对Html内容编码,Html转义
Feb 17 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
Aug 25 Javascript
Angular 项目实现国际化的方法
Jan 08 Javascript
在Vue项目中使用snapshot测试的具体使用
Apr 16 Javascript
vue中get请求如何传递数组参数的方法示例
Nov 08 Javascript
通过实例解析jQ Ajax操作相关原理
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
PHP 巧用数组降低程序的时间复杂度
2010/01/01 PHP
深入解析fsockopen与pfsockopen的区别
2013/07/05 PHP
PHP生成等比缩略图类和自定义函数分享
2014/06/25 PHP
浅谈关于PHP解决图片无损压缩的问题
2017/09/01 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
基于jquery的划词搜索实现(备忘)
2010/09/14 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
2013/01/10 Javascript
用jquery实现输入框获取焦点消失文字
2013/04/27 Javascript
Textarea根据内容自适应高度
2013/10/28 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
2016/09/04 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
2017/09/28 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
总结js中的一些兼容性易错的问题
2017/12/18 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
详解JavaScript之ES5的继承
2020/07/08 Javascript
Python中使用OpenCV库来进行简单的气象学遥感影像计算
2016/02/19 Python
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
python 实现分页显示从es中获取的数据方法
2018/12/26 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
pandas数据处理进阶详解
2019/10/11 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
机械化及自动化毕业生的自我评价分享
2013/11/06 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
党支部书记四风问题整改措施
2014/09/24 职场文书
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript