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实现unicode和字符的互相转换
Jul 18 Javascript
jQuery 性能优化指南(2)
May 21 Javascript
jquery利用ajax调用后台方法实例
Aug 23 Javascript
juery框架写的弹窗效果适合新手
Nov 27 Javascript
javascript 按键事件(兼容各浏览器)
Dec 20 Javascript
jQuery实现图片轮播特效代码分享
Sep 15 Javascript
好好了解一下Cookie(强烈推荐)
Jun 14 Javascript
jQuery文字轮播特效
Feb 12 Javascript
详解用vue.js和laravel实现微信支付
Jun 23 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
Feb 27 jQuery
bootstrap-paginator服务器端分页使用方法详解
Feb 13 Javascript
低门槛开发iOS、Android、小程序应用的前端框架详解
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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
虫族 Zerg 魔法科技
2020/03/14 星际争霸
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
CI配置多数据库访问的方法
2016/03/28 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
9个javascript语法高亮插件 推荐
2009/07/18 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
最常见的左侧分类菜单栏jQuery实现代码
2016/11/28 Javascript
angular+webpack2实战例子
2017/05/23 Javascript
JS动态修改网页body的背景色实例代码
2017/10/07 Javascript
Vue精简版风格指南(推荐)
2018/01/30 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
关于TypeScript模块导入的那些事
2018/06/12 Javascript
Vue不能检测到Object/Array更新的情况的解决
2018/06/26 Javascript
vue2.0父子组件间传递数据的方法
2018/08/16 Javascript
NodeJS加密解密及node-rsa加密解密用法详解
2018/10/12 NodeJs
小程序二次贝塞尔曲线实现购物车商品曲线飞入效果
2019/01/07 Javascript
浅谈JS中this在各个场景下的指向
2019/08/14 Javascript
Layui table field初始化加载时进行隐藏的方法
2019/09/19 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
python3 图片referer防盗链的实现方法
2018/03/12 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
Python应用库大全总结
2018/05/30 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
python微信好友数据分析详解
2018/11/19 Python
社区党总支书记先进事迹材料
2014/01/24 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
关于环保的标语
2014/06/13 职场文书
服装设计专业求职信
2014/06/16 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
2019生态环境保护倡议书!
2019/07/03 职场文书