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 相关文章推荐
jQuery操作input type=radio的实现代码
Jun 14 Javascript
jquery做的一个简单的屏幕锁定提示框
Mar 26 Javascript
node.js中的querystring.escape方法使用说明
Dec 10 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
Jan 12 Javascript
js事件冒泡、事件捕获和阻止默认事件详解
Aug 04 Javascript
js 获取元素所有兄弟节点的实现方法
Sep 06 Javascript
Vue.js第一天学习笔记(数据的双向绑定、常用指令)
Dec 01 Javascript
详解angular2封装material2对话框组件
Mar 03 Javascript
Angular 2.0+ 的数据绑定的实现示例
Aug 09 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
Aug 17 Javascript
JS通过位运算实现权限加解密
Aug 14 Javascript
js+canvas实现刮刮奖功能
Sep 13 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
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
快速开发一个PHP扩展图文教程
2008/12/12 PHP
解析php安全性问题中的:Null 字符问题
2013/06/21 PHP
PHP5.3安装Zend Guard Loader图文教程
2014/09/29 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
JavaScript 参考教程
2006/12/29 Javascript
js三种排序算法分享
2012/08/16 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
2013/01/24 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
2013/06/27 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
2014/12/15 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
微信小程序 MD5加密登录密码详解及实例代码
2017/01/12 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
详解如何在React组件“外”使用父组件的Props
2018/01/12 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
Swiper.js实现移动端元素左右滑动
2019/09/08 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
Python调用命令行进度条的方法
2015/05/05 Python
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
Python实现的使用telnet登陆聊天室实例
2015/06/17 Python
Python中的下划线详解
2015/06/24 Python
python实现redis三种cas事务操作
2017/12/19 Python
Django如何自定义分页
2018/09/25 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
Python 用turtle实现用正方形画圆的例子
2019/11/21 Python
深入了解Python 方法之类方法 &amp; 静态方法
2020/08/17 Python
使用python爬取抖音app视频的实例代码
2020/12/01 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
Europcar意大利:汽车租赁
2019/07/07 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
教师自我反思材料
2014/02/14 职场文书
2015年材料员工作总结
2015/04/30 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
JS代码编译器Monaco使用方法
2021/06/11 Javascript