标签:
面向对象(Object-Oriented, OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。而 ECMAScript 中没有类的概念,所以我们可以使用对象模拟出类。ECMA-262 把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数。”严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。
以下是《JavaScript高级程序设计》中介绍的创建对象的方法,我把它们总结成思维导图方式:
目前使用最广泛的是组合使用构造函数模式和原型模式。此外,动态原型模式也很流行,在功能上与构造函数模式/原型模式等价。可以采用这两种方式中的任何一种。不过不要单独使用经典的构造函数或原型模式,因为这样会给代码引入问题。
标签:
原文地址:http://www.cnblogs.com/crucify-lee/p/4529906.html