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 相关文章推荐
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
Nov 12 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
Sep 29 Javascript
javascript正则匹配汉字、数字、字母、下划线
Apr 10 Javascript
javascript实现浏览器窗口传递参数的方法
Sep 03 Javascript
get(0).tagName获得作用标签示例代码
Oct 08 Javascript
Vue.js常用指令汇总(v-if、v-for等)
Nov 03 Javascript
a标签置灰不可点击的实现方法
Feb 06 Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
Feb 23 Javascript
VsCode插件整理(小结)
Sep 14 Javascript
iview中Select 选择器多选校验方法
Mar 15 Javascript
vue组件的写法汇总
Apr 12 Javascript
微信小程序实现点击生成随机验证码
Sep 09 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
我的论坛源代码(一)
2006/10/09 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
PHP的cURL库简介及使用示例
2015/02/06 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
关于php unset对json_encode的影响详解
2018/11/14 PHP
锋利的jQuery 要点归纳(一) jQuery选择器
2010/03/21 Javascript
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
node中Express 动态设置端口的方法
2017/08/04 Javascript
实现两个文本框同时输入的实例
2017/09/25 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
python实现文本界面网络聊天室
2018/12/12 Python
Python微信操控itchat的方法
2019/05/31 Python
python 实现dict转json并保存文件
2019/12/05 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
2010/07/20 HTML / CSS
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
生物化学研究助理员求职信
2013/10/09 职场文书
数据保密承诺书
2014/06/03 职场文书
学校节能减排方案
2014/06/13 职场文书
党员创先争优心得体会
2014/09/11 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书