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实现表格隔行变色和突出显示当前行的代码
Feb 10 Javascript
javascript函数声明和函数表达式区别分析
Dec 02 Javascript
JavaScript中对象property的删除方法介绍
Dec 30 Javascript
JavaScript实现在页面间传值的方法
Apr 07 Javascript
微信小程序 页面跳转传递值几种方法详解
Jan 12 Javascript
vue中导出Excel表格的实现代码
Oct 18 Javascript
如何安装控制器JavaScript生成插件详解
Oct 21 Javascript
JavaScript模板引擎原理与用法详解
Dec 24 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
Apr 26 Javascript
d3.js 地铁轨道交通项目实战
Nov 27 Javascript
js实现鼠标点击页面弹出自定义文字效果
Dec 24 Javascript
Openlayers3实现车辆轨迹回放功能
Sep 29 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.ini 中文版
2006/10/28 PHP
mysql时区问题
2008/03/26 PHP
php使用cookie实现记住登录状态
2015/04/27 PHP
Zend Framework教程之Zend_Config_Ini用法分析
2016/03/23 PHP
PHP序列化/对象注入漏洞分析
2016/04/18 PHP
PHP+jQuery实现即点即改功能示例
2019/02/21 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
Node.js Sequelize如何实现数据库的读写分离
2016/10/23 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
iview同时验证多个表单问题总结
2018/09/29 Javascript
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
Vue中Axios从远程/后台读取数据
2019/01/21 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
vue 组件简介
2020/07/31 Javascript
使用jquery实现轮播图效果
2021/01/02 jQuery
python实现电子词典
2020/04/23 Python
Python中强大的命令行库click入门教程
2016/12/26 Python
python数字图像处理之高级滤波代码详解
2017/11/23 Python
浅述python中深浅拷贝原理
2018/09/18 Python
解决django前后端分离csrf验证的问题
2019/02/03 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
2019/08/12 Python
python合并多个excel文件的示例
2020/09/23 Python
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
国外平面设计第一市场:99designs
2016/10/25 全球购物
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
2015高考寄语集锦
2015/02/27 职场文书
2016年暑期见闻作文
2015/11/25 职场文书
如何利用 CSS Overview 面板重构优化你的网站
2021/10/24 HTML / CSS
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js