JavaScript里,对象的属性和方法支持4种不同的类型,
第一种类型就是前面所说的私有类型,它的特点是对外界完全不具备访问性,要访问它们,只有通过特定的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.z = 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>
分享到:
相关推荐
js库简介js-library记录个人成长的点滴,欢迎大家进行技术交流文件结构-- arithmetic 【算法基础系列】-- booklist 【前端书籍系列】-- designPattern 【设计模式】-- flutter 【flutter系列】-- interviewQuestion ...
Folk的目标是:让您可以轻松地与世界分享您的点滴。 Folk使用世界流行的javascript语言开发,因此可以同时运行于node和asp(非.net)。其中,node版本支持sqlite(推荐)和mysql两种数据库,而asp版本则同时支持access、...
以语音的方式记录生活点滴。替代文字日记的理由是我觉得语音可以记录更多的信息,而不仅仅是文字。 功能 登录 录音、播放录音(最长一分钟) 上传语音日记 查看语音日记 搜索语音日记 删除语音日记 其他 这个小程序...
需要有一定的HTML、CSS和JavaScript基础才能更好地理解和使用这个资源。 在使用这个资源时,需要确保已经正确引入了jQuery库,否则可能会出现功能无法正常使用的情况。 该资源仅提供了基本的发表说说和评论功能,...
前端面向对象开发基础知识 JavaScript设计模式系列 中介者模式 享元模式 代理模式 命令模式 正则表达式学习 常用Linux命令学习 【一周一数据结构与算法系列】 本章导读 温故而知新,查漏补缺,生命不息,学无止境! ...
Folk的目标是:让您可以轻松地与世界分享您的点滴。Folk使用世界流行的javascript语言开发,因此可以同时运行于node和asp(非.net)。其中,node版本支持sqlite(推荐)和mysql两种数据库,而asp版本则同时支持access、...
因为Jquery 是一个很好的javascript框架,我对他的运用还只是表面的,处于一个初步学习的阶段,所以通过博客记录我学习的点滴,大神可以略过,写此文章希望可以帮到和我一样的初学者,共同分享,共同进步。...
以语音的方式记录生活点滴。替代文字日记的理由是我觉得语音可以记录更多的信息,而不仅仅是文字。 功能 - 登录 - 录音、播放录音(最长一分钟) - 上传语音日记 - 查看语音日记 - 搜索语音日记 - 删除语音日记 这...
以语音的方式记录生活点滴。替代文字日记的理由是我觉得语音可以记录更多的信息,而不仅仅是文字。 功能 - 登录 - 录音、播放录音(最长一分钟) - 上传语音日记 - 查看语音日记 - 搜索语音日记 - 删除语音日记 这...
Folk的目标是:让您可以轻松地与世界分享您的点滴。 Folk使用世界流行的javascript语言开发,因此可以同时运行于node和asp(非.net)。其中,node版本支持sqlite(推荐)和mysql两种数据库,而asp版本则同时支持access、...
面试大前端每日一题,从基础到进阶,从原理到实战,用面试题来倒逼强迫自己每天去学习去查漏补缺,系统完善前端的完整知识体系!注:每天早上9点左右更新译文及前一天的答案,首页文件夹里的文章扩展网络,替代参考...
Asp.net 2.0 WebPart使用经验点滴 革新:.NET 2.0的自定义配置文件体系初探 关于如何在ASP.NET 2.0中定制Expression Builders 怎么在ASP.NET 2.0中使用Membership asp.net 2.0-实现数据访问(1) ASP.NET 2.0 新...
前端学习汇总简介2020年秋招进行到目前,深知自己的基础不够扎实,遂创建了这个仓库,顺便记录一下前端路上的点滴,也羡慕早已拿到大厂offer的同学,自己的路还很长,你我都在路上,加油:flexed_biceps:剑指offer...
六东云 面向固定PC终端的企业级私有云。...在庞大复杂的IT环境下,如果随意使用USB、开放共享文件夹、跨内外网随便传输文件,点滴的疏忽可能造成病毒入侵、蠕虫泛滥、拖慢整个网络、数据泄露、加密服务器硬盘等严
以语音的方式记录生活点滴。替代文字日记的理由是我觉得语音可以记录更多的信息,而不仅仅是文字。 该项目创建于2017.1.10,之后就放弃更新,因此学习价值有限。 现本人有意愿深入学习微信小程序,故决定开发一个小...
涉及到的领域谈不上包罗万象,但毕竟是我多年来点滴积累的成果,而且大多都通过了生产环境的考验。 承诺不会放弃更新这个仓库,所以包含的子项目必定会越来越多。 但是如果某些子项目已经足够成熟,会将其抽离成独立...