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 相关文章推荐
利用ASP发送和接收XML数据的处理方法与代码
Nov 13 Javascript
Ajax,UTF-8还是GB2312 eval 还是execScript
Nov 13 Javascript
javascript中字符串的定义示例代码
Dec 19 Javascript
jquery实现的一个简单进度条效果实例
May 12 Javascript
JavaScript中的Number数字类型学习笔记
May 26 Javascript
JS中substring与substr的用法
Nov 16 Javascript
通过AngularJS实现图片上传及缩略图展示示例
Jan 03 Javascript
RequireJS 依赖关系的实例(推荐)
Jan 21 Javascript
JS实现简单短信验证码界面
Aug 07 Javascript
使用JS动态显示文本
Sep 09 Javascript
通过angular CDK实现页面元素拖放的步骤详解
Jul 01 Javascript
Vue2.0 ES6语法降级ES5的操作
Oct 30 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
用户的详细注册和判断
2006/10/09 PHP
抓取并下载CSS中所有图片文件的php代码
2011/09/26 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
php事务处理实例详解
2014/07/11 PHP
thinkPHP交易详情查询功能详解
2016/12/02 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
csdn 论坛技术区平均给分功能
2009/11/07 Javascript
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
改进版通过Json对象实现深复制的方法
2012/10/24 Javascript
jQuery调取jSon数据并展示的方法
2015/01/29 Javascript
jQuery实现的支持IE的html滑动条
2015/03/16 Javascript
JS解析XML文件和XML字符串详解
2015/04/17 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
Vue项目部署的实现(阿里云+Nginx代理+PM2)
2019/03/26 Javascript
vue中nextTick用法实例
2019/09/11 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
Django静态资源URL STATIC_ROOT的配置方法
2014/11/08 Python
Python中decorator使用实例
2015/04/14 Python
TensorFlow高效读取数据的方法示例
2018/02/06 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
tensorflow: variable的值与variable.read_value()的值区别详解
2018/07/30 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
python实现简单颜色识别程序
2020/02/19 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
2020/02/24 Python
python字符串的index和find的区别详解
2020/06/20 Python
Django创建一个后台的基本步骤记录
2020/10/02 Python
招聘与培训专员岗位职责
2014/01/30 职场文书
珍惜资源保护环境的建议书
2014/05/14 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
经费申请报告
2015/05/15 职场文书
nginx网站服务如何配置防盗链(推荐)
2021/03/31 Servers
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python