频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

第3章 Object扩展和性能及Web应用之神兵利器

作者: 夏天 出处:电子工业出版社博文视点  2008-04-09 15:08    砖    好    评论   进入论坛
阅读提示:《JavaScript高级应用与实践》展示了Object和Functiong各自的属性和方法,讲了Object扩展和性能及Web应用之神兵利器,本文为第三章的概括部分。

第3章  Object扩展和性能及Web应用之神兵利器

Object和Function有着异曲同工之妙,它们都可以有属性和方法。不过却有着极大的差别,请看表3-1。

表3-1  Object和function的一些比较

   

Object

Function

定义后

不能再使用new创建对象实例,可以赋值给其他变量,多个变量同时引用一个对象,或者克隆对象

可以使用new创建多个对象实例,使用时互不影响,但是使用内存也会更多

多态性

具备

具备

继承

无法继承,除非用复制的方式来实现

可以实现

toStringvalueOf

如果你不实现它的代码,别人无法通过toStringvalueOf查看到你的代码

默认情况下,toStringvalueOf是可以看到function的代码的

prototype原型问题

Object原型增加方法或属性,new function出来的对象也同样有这样的方法—因此这是扩展通用对象功能的好地方

Function原型增加方法或属性,Object实例对象不会有这些方法和属性

引用传递

支持

支持

数组下标运算符号的支持

通过设计可以支持

通过设计可以支持

prototype原型上扩展的属性和方法

Mozilla Firefox中等于给body【包含】内容的所有HTML DOM对象扩展属性和方法

Function原型上扩展,则不会

注意:String、Number、Boolean对象不支持引用传递。
 
其他区别则是本章主要讲解的内容,这里就先不讲。
 
其实,无论是Object也好,function也好,我们的目的都是一样的,就是定义和创建一个可用对象实例,如果不是必需的,笔者特别推荐采用Object的形式,因为定义和实例化一次就完成了。
 
许多读者在想,本章的内容讲的是不断地在Object对象上进行扩展,以便在各种对象的应用时,随时都能拿来就用,那么内存消耗上会不会无形中增加许多,从而导致性能下降呢?其实你大可不必担心,关于这个问题,笔者做了测试,创建100 000个对象,内存只是比一般的方式多了176K左右,平均下来是每个对象创建时多了1.8字节,牺牲这点内存是值得的,再说,你的设计中如果真要创建10万以上对象却又不delete,那你可真的要好好设计一下。
 
这一测试下来,就很明白了,扩展Object,在各对象里存在的只是对这个原始的Object的一个引用罢了。测试方式如下所示。
<html>
<head><meta http-equiv=content-type content="text/html; charset=utf-8">
<title>测试”“对Object扩展后内存的使用情况”</title>
</head>
<body>
<!--
第一次观察内参情况后在把这里的注释打开
<script type="text/javascript" language="JavaScript"
src="/jcore/resource/javascript/Jcore.js"></script>
-->
<script type="text/javascript" language="JavaScript">
<!--
var arrTmp = [];for(var i = 0; i < 100000; i++)  arrTmp.push(new Date);
-->
</script>
</body>
</html>
【责任编辑:雪花 TEL:(010)68476606】

回书目      
专题
Java实用开发全集
Java类的基础教程专题
Java发展动态专题
Java编程开发手册
Java基础教程
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
NAC安全访问控制
NAC安全访问控制
Windows Server 2008专题
Windows Server 2008专题
PHP开发应用手册
PHP开发应用手册
· PHP开发应用手册
· 国际文档格式标准开战
· 微软出价446亿美元收购..
· 技术人求职简历完备手册
· 北漂技术人90天求职纪实
· 勇闯IT培训黑色围城
· 隐私保护技术探讨
· ASP.NET 2.0基础开发指..
· WCF开发基础
· 路由器设置与口令恢复
· 华为员工自杀频频拷问..
· VC++基础开发专题
· 2008年春季英特尔信息..
· Visual Studio 2005开..
· Linux——从菜鸟到高手
· 如何优化IT 控制能耗
清除流氓软件——51CTO特别专题
清除流氓软件——51CTO特别专..
ARP攻击防范与解决方案
ARP攻击防范与解决方案
iSCSI应用与发展
iSCSI应用与发展
· iSCSI应用与发展
· SQL Server 2008/2005..
· SOA 面向服务架构
· SQL Server 2008/2005..
· iSCSI应用与发展
· RAID——磁盘阵列基础
· 中间件应用技术专题
· SQL Server入门到精通
· 病毒查杀专题
· 国际文档格式标准开战
· Linux防火墙
· 路由器设置与口令恢复
· 打造安全服务器
· SOA 面向服务架构
· PHP开发应用手册
· ADSL应用面面俱到
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
iSCSI应用与发展
iSCSI应用与发展
· iSCSI应用与发展
· 中间件应用技术专题
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· iSCSI应用与发展
· RAID——磁盘阵列基础
· 身份认证技术
· 病毒查杀专题
· 清除流氓软件——51CTO..
· 路由器设置与口令恢复
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· ADSL应用面面俱到
· ADSL应用面面俱到
· 反垃圾邮件技术应用