JavaScript 对象的属性和方法4种不同的类型


Posted in Javascript onMarch 19, 2010

第一种类型就是前面所说的私有类型,它的特点是对外界完全不具备访问性,要访问它们,只有通过特定的getter和setter。
第二种类型是动态的公有类型,它的特点是外界可以访问,而且每个对象实例持有一个副本,它们之间不会相互影响。
第三种类型是静态的公有类型,或者通常叫做原型属性,它的特点是每个对象实例共享唯一副本,对它的改写会相互影响。
第四种类型是类属性,它的特点是作为类型的属性而不是对象实例的属性,在没有构造对象时也能够访问,下面通过例子说明这四种属性类型各自的特点和区别:
类型的四种属性

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>Example 21.3</title> 
</head> 
<body> 
<h1 id="output"></h1> 
<script language="javascript" type="text/javascript"> 
<!-- 
function dwn(s) 
{ 
document.write(s + "<br/>"); 
} 
function myClass() 
{ 
var p = 100; //private property; 私有属性 
this.x = 10; //dynamic public property 动态公有属性 
} 
myClass.prototype.y = 20; //static public property or prototype property 原型属性 
myClass.z = 30; //static property //静态属性 
var a = new myClass(); 
dwn(a.p); //undefined 私有属性对象无法访问到 
dwn(a.x); //10 公有属性 
dwn(a.y); //20 公有属性 
a.x = 20; 
a.y = 40; 
dwn(a.x); //20 
dwn(a.y); //40 //动态公有属性y覆盖了原型属性y 
delete(a.x); 
delete(a.y); 
dwn(a.x); //undefined 动态公有属性x被删除后不存在 
dwn(a.y); //20 动态公有属性y被删除后还原为原型属性y 
dwn(a.z); //undefined 类属性无法通过对象访问 
dwn(myClass.z); //30 类属性应该通过类访问 
--> 
</script> 
</body> 
</html>
Javascript 相关文章推荐
用javascript获得地址栏参数的两种方法
Nov 08 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
Nov 04 Javascript
JavaScript添加随滚动条滚动窗体的方法
Feb 23 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
May 15 Javascript
js+html5实现canvas绘制椭圆形图案的方法
May 21 Javascript
jQuery中页面返回顶部的方法总结
Dec 30 Javascript
微信小程序 picker-view 组件详解及简单实例
Jan 10 Javascript
less简单入门(CSS 预处理语言)
Mar 08 Javascript
vue父组件向子组件(props)传递数据的方法
Jan 02 Javascript
通过vue写一个瀑布流插件代码实例
Sep 07 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
Jul 09 Javascript
9个JavaScript日常开发小技巧
Oct 06 Javascript
jQuery 前的按键判断代码
Mar 19 #Javascript
Javascript 匿名函数及其代码模式原理
Mar 19 #Javascript
JS 有名函数表达式全面解析
Mar 19 #Javascript
Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
Mar 18 #Javascript
JavaScript 高效运行代码分析
Mar 18 #Javascript
JS setCapture 区域外事件捕捉
Mar 18 #Javascript
小议Javascript中的this指针
Mar 18 #Javascript
You might like
PHP读取txt文本文件并分页显示的方法
2015/03/11 PHP
php字符串分割函数用法实例
2015/03/17 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
php链表用法实例分析
2015/07/09 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
解决php写入数据库乱码的问题
2019/09/17 PHP
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
jQuery温习篇 强大的JQuery选择器
2010/04/24 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
jquery自定义表格样式
2015/11/23 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
2016/01/25 Javascript
jquery制做精致的倒计时特效
2016/06/13 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
2016/08/17 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
在React项目中使用Eslint代码检查工具及常见问题
2018/10/10 Javascript
微信小程序自定义导航教程(兼容各种手机)
2018/12/12 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
微信小程序的mpvue框架快速上手指南
2019/05/15 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
2019/06/17 Javascript
微信小程序wxs实现吸顶效果
2020/01/08 Javascript
js瀑布流布局的实现
2020/06/28 Javascript
Python实现统计代码行的方法分析
2017/07/12 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
python框架Django实战商城项目之工程搭建过程图文详解
2020/03/09 Python
华为慧通笔试题
2016/04/22 面试题
平安建设实施方案
2014/03/19 职场文书
一年级小学生评语
2014/04/22 职场文书
小区的门卫岗位职责
2014/10/01 职场文书
2015医院个人工作总结范文
2015/05/21 职场文书
vue项目打包后路由错误的解决方法
2022/04/13 Vue.js