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 相关文章推荐
js 页面刷新location.reload和location.replace的区别小结
Dec 24 Javascript
ExtJs事件机制基本代码模型和流程解析
Oct 24 Javascript
Javascript实现禁止输入中文或英文的例子
Dec 09 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
Feb 19 Javascript
纯js实现悬浮按钮组件
Dec 17 Javascript
微信小程序商城项目之淘宝分类入口(2)
Apr 17 Javascript
axios全局请求参数设置,请求及返回拦截器的方法
Mar 05 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
Nov 02 Javascript
vue实现购物车抛物线小球动画效果的方法详解
Feb 13 Javascript
Element图表初始大小及窗口自适应实现
Jul 10 Javascript
Openlayers显示瓦片网格信息的方法
Sep 28 Javascript
JavaScript async/await原理及实例解析
Dec 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
PHP 函数执行效率的小比较
2010/10/17 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
PHP进阶学习之Geo的地图定位算法详解
2019/06/19 PHP
UserData用法总结 lanyu出品
2010/07/01 Javascript
jQuery1.6 使用方法二
2011/11/23 Javascript
js形成页面的一种遮罩效果实例代码
2014/01/04 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
JavaScript函数使用的基本教程
2015/06/04 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
2020/06/23 Javascript
简易的JS计算器实现代码
2016/10/18 Javascript
微信小程序 swiper组件详解及实例代码
2016/10/25 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
angular 基于ng-messages的表单验证实例
2017/05/04 Javascript
详解JS构造函数中this和return
2017/09/16 Javascript
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
javascript数组拍平方法总结
2018/01/20 Javascript
layer.confirm()右边按钮实现href的例子
2019/09/27 Javascript
JS性能优化实现方法及优点进行
2020/08/30 Javascript
Python基于TCP实现会聊天的小机器人功能示例
2018/04/09 Python
python简单鼠标自动点击某区域的实例
2019/06/25 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
2019/07/22 Python
Python交互式图形编程的实现
2019/07/25 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
利于python脚本编写可视化nmap和masscan的方法
2020/12/29 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
美国花园雕像和家居装饰网上商店:Design Toscano
2019/03/09 全球购物
护士个人自我鉴定
2014/03/24 职场文书
初中班主任评语大全
2014/04/24 职场文书
医院搬迁方案
2014/06/14 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书
婚庆答谢词大全
2015/09/29 职场文书
MyBatis-Plus 批量插入数据的操作方法
2021/09/25 Java/Android
解决WINDOWS电脑开机后桌面没有任何图标
2022/04/09 数码科技