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选中select控件 无法设置selected的解决方法
Sep 01 Javascript
document.createElement()用法及注意事项(ff下不兼容)
Mar 13 Javascript
JS图像无缝滚动脚本非常好用
Feb 10 Javascript
JavaScript声明变量名的语法规则
Jul 10 Javascript
原生js编写基于面向对象的分页组件
Dec 05 Javascript
JavaScript常用正则函数用法示例
Jan 23 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
Mar 29 Javascript
一次微信小程序内地图的使用实战记录
Sep 09 Javascript
详解从vue-loader源码分析CSS Scoped的实现
Sep 23 Javascript
JavaScript forEach中return失效问题解决方案
Jun 01 Javascript
vue-cli4.x创建企业级项目的方法步骤
Jun 18 Javascript
JS继承实现方法及优缺点详解
Sep 02 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
phpstorm编辑器乱码问题解决
2014/12/01 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
2015/04/27 PHP
php使用ob_flush不能每隔一秒输出原理分析
2015/06/02 PHP
Redis使用Eval多个键值自增的操作实例
2016/11/04 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
python基础教程之基本内置数据类型介绍
2014/02/20 Python
python控制台中实现进度条功能
2015/11/10 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
python检测IP地址变化并触发事件
2018/12/26 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
Tensorflow累加的实现案例
2020/02/05 Python
500行python代码实现飞机大战
2020/04/24 Python
canvas画布实现手写签名效果的示例代码
2019/04/23 HTML / CSS
Hotels.com南非:酒店预订
2017/11/02 全球购物
Lovedrobe官网:英国领先的大码服装品牌
2019/09/19 全球购物
数据库方面面试题
2012/04/22 面试题
毕业生物理教师求职信
2013/10/17 职场文书
写好求职信第一句话的技巧
2013/10/26 职场文书
高级电工工作职责
2013/11/21 职场文书
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
电大毕业个人生自我鉴定
2014/03/26 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
驾驶员安全责任书范本
2014/07/24 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
采购内勤岗位职责
2015/04/13 职场文书