当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript高级程序设计

Javascript
滚动条代码生成器
NiftyCube:轻松实现圆角边框
懒就要懒到底:鼠标自动点击(含时间判断)
简单form标准化实例:语义结构
超清晰的document对象详解
用正则获取指定路径文件的名称
整理的比较不错的JavaScript的方法和技巧
求得div 下 img的src地址的js代码
js+css实现的仿office2003界面
一个不错的应用,用于提交获取文章内容,不推荐用
插件:检测javascript的内存泄漏
得到文本框选中的文字,动态插入文字的js代码
翻译整理的jQuery使用查询手册
一个的简易文本编辑器源码
HTML中不支持静态Expando的元素的问题
用CSS打造多彩文字链接
一个不错的用JavaScript实现的UBB编码函数
js实现的非常棒的绿色下拉透明菜单
优秀js开源框架-jQuery使用手册(1)
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例

Javascript 中的 JavaScript高级程序设计


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 345 ::
收藏到网摘: n/a

前一章简要谈及对象的使用,现在要详细介绍它们了。对象的创建或销毁都在JavaScript执行过程中发生,理解这种范式的含义对理解整个语言至关重要。
3.2.1 声明和实例化
对象是用关键字new后跟要实例化的类的名字创建的:
第一行代码创建了Object类的一个实例,并把它存储在变量oObject中。第二行代码创建了String类的一个实例,把它存储在变量oStringObject中。如果构造函数无参数,括号则不是必需的,因此可以采用下面的形式重写上面的两行代码:
3.2.2 对象引用
在第2章中,介绍了引用类型的概念。在ECMAScript中,不能访问对象的物理表示,只能访问对象的引用。每次创建对象,存储在变量中的都是该对象的引用,而不是对象本身。
3.2.3 对象废除
ECMAScript有无用存储单元收集程序,意味着不必专门销毁对象来释放内存。当再没有对对象的引用时,称该对象被废除(dereference)了。运行无用存储单元收集程序时,所有废除的对象都被销毁。每当函数执行完它的代码,无用存储单元收集程序都会运行,释放所有的局部变量,还有在一些其他不可预知的情况下,无用存储单元收集程序也会运行。
把对象的所有引用都设置为null,可以强制性的废除对象。例如:
当变量oObject设置为null后,对第一个创建的对象的引用就不存在了。这意味着下次运行无用存储单元收集程序时,该对象将被销毁。
每用完一个对象后,就将其废除,来释放内存,这是个好习惯。这样还确保不再使用已经不能访问的对象,从而防止程序设计错误的出现。此外,旧的浏览器(如IE/Mac)没有全面的无用存储单元回收程序,所以在卸载页面时,对象可能不能被正确销毁。废除对象和它的所有特性是确保内存使用正确的最好方法。
废除对象的所有引用时要当心。如果一个对象有两个或更多引用,则要正确废除该对象,必须将其所有引用都设置为null
3.2.4 早绑定和晚绑定
所谓绑定(binding),即把对象的接口与对象实例结合在一起的方法。
早绑定(early binding)是指在实例化对象之前定义它的特性和方法,这样编译器或解释程序就能提前转换机器代码。在Java和Visual Basic这样的语言中,有了早绑定,就可以在开发环境中使用IntelliSense(即给开发者提供其对象中特性和方法列表的功能)。ECMAScript不是强类型语言,所以不支持早绑定。
另一方面,晚绑定(late binding)指的是编译器或解释程序在运行前,不知道对象的类型。使用晚绑定,无需检查对象的类型,只需要检查对象是否支持特性和方法即可。ECMAScript中的所有变量都采用晚绑定方法,这样就允许执行大量的对象操作,而无任何惩罚。