手机版

JavaScript高级编程

时间:2021-11-28 来源:互联网 编辑:宝哥软件园 浏览:

前一章简单讲了对象的使用,现在我就详细介绍一下。对象的创建或销毁发生在JavaScript执行过程中,因此理解这种范式的含义对于理解整个语言非常重要。3.2.1声明和实例化的对象是用关键字new后跟要实例化的类名创建的:

第一行代码创建一个对象类的实例,并将其存储在变量oObject中。第二行代码创建一个字符串类的实例,并将其存储在变量oStringObject中。如果构造函数没有参数,括号就不需要了,所以上面两行代码可以改写成如下形式:

3.2.2对象引用在第二章中,引入了引用类型的概念。在ECMAScript中,您不能访问对象的物理表示,只能访问对象的引用。每次创建对象时,存储在变量中的是对象的引用,而不是对象本身。3.2.3对象废除ECMAScript有一个垃圾收集器,这意味着不需要专门销毁对象来释放内存。当没有对对象的引用时,表示该对象已被取消引用。运行垃圾收集器时,所有丢弃的对象都会被销毁。每当函数完成执行其代码时,垃圾收集器就会运行,释放所有局部变量,在某些其他不可预测的情况下,垃圾收集器也会运行。将对象的所有引用设置为null可以强制取消该对象。例如:

当变量oObject设置为null时,对第一个创建的对象的引用将消失。这意味着该对象将在下次垃圾收集器运行时被销毁。每一个对象用完之后都要废除,以释放内存,这是一个好习惯。这也确保不再可访问的对象不再被使用,从而防止编程错误。此外,旧浏览器(如IE/Mac)没有全面的垃圾收集程序,因此卸载页面时可能无法正确销毁对象。取消对象及其所有功能是确保正确使用内存的最佳方式。取消对对象的所有引用时要小心。如果一个对象有两个或多个引用,它的所有引用都必须设置为null,以便正确地取消该对象。3.2.4早期绑定和后期绑定称为绑定,是一种将对象的接口与对象实例相结合的方法。早期绑定是指在实例化对象之前定义对象的特性和方法,以便编译器或解释器可以提前转换机器代码。在Java和Visual Basic等语言中,通过早期绑定,可以在开发环境中使用IntelliSense(即向开发人员提供其对象中的功能和方法列表的功能)。ECMAScript不是强类型语言,因此不支持早期绑定。另一方面,后期绑定意味着编译器或解释器在运行之前不知道对象的类型。使用后期绑定,不需要检查对象的类型,只需要检查对象是否支持属性和方法。ECMAScript中的所有变量都采用了后期绑定的方法,允许执行大量的对象操作而没有任何惩罚。

版权声明:JavaScript高级编程是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。