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,mootools,dojo)使用适合自己的编程别名命名
Sep 14 Javascript
xss文件页面内容读取(解决)
Nov 28 Javascript
jquery验证手机号码、邮箱格式是否正确示例代码
Jul 28 Javascript
JavaScript调用后台的三种方法实例
Oct 17 Javascript
JS的document.all函数使用示例
Dec 30 Javascript
Actionscript与javascript交互实例程序(修改)
Sep 22 Javascript
浅谈Webpack自动化构建实践指南
Dec 18 Javascript
20多个小事例带你重温ES10新特性(小结)
Sep 29 Javascript
微信小程序自定义组件components(代码详解)
Oct 21 Javascript
Vue 设置axios请求格式为form-data的操作步骤
Oct 29 Javascript
toString.call()通用的判断数据类型方法示例
Aug 28 Javascript
js实现点击烟花特效
Oct 14 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生成静态html文件的三种方法
2013/06/18 PHP
php中cookie的使用方法
2014/03/29 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
2019/10/08 PHP
解决JQeury显示内容没有边距内容紧挨着浏览器边线
2013/12/20 Javascript
Javascript中Array.prototype.map()详解
2014/10/22 Javascript
jquery滚动特效集锦
2015/06/03 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
jquery滚动条插件slimScroll使用方法
2017/02/09 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
webpack实现热加载自动刷新的方法
2017/07/30 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
express.js中间件说明详解
2019/03/19 Javascript
详解微信小程序轨迹回放实现及遇到的坑
2021/02/02 Javascript
使用python在本地电脑上快速处理数据
2017/06/22 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
python解析含有重复key的json方法
2019/01/22 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
Keras loss函数剖析
2020/07/06 Python
python爬虫工具例举说明
2020/11/30 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
DJI美国:消费类无人机领域的领导者
2018/04/27 全球购物
大三在校生电子商务求职信
2013/10/29 职场文书
教师求职信范文分享
2013/12/27 职场文书
战友聚会邀请函
2014/01/18 职场文书
服务质量承诺书
2014/03/27 职场文书
项目合作意向书范本
2014/04/01 职场文书
用Python实现Newton插值法
2021/04/17 Python
Python 线程池模块之多线程操作代码
2021/05/20 Python
让文件路径提取变得更简单的Python Path库
2021/05/27 Python
使用CSS实现按钮边缘跑马灯动画
2023/05/07 HTML / CSS