前面的章节说过,JavaScript 中没有类(class)的概念。因此我们没有办法像其他面向对象语言如 Java、C++ 等一样,先创建类,类包含方法,然后再实例化对象来创建对象。
在 JavaScript 中,当我们用 function 关键字来创建一个函数时,实际上在 JavaScript 中,是按照对象来进行管理的,且我们可以动态的设置该对象的属性及方法等。具体来看下面的例子:
<script language="JavaScript"> // 定义构造函数,并设定一个属性 function Person(name) { this.name = name; } // 为 Person 增加一个方法 Person.prototype.showName = function() { alert("我叫" + this.name); }; // new 关键字实例化一个对象 var Tom = new Person("Tom"); // 运行该对象内的 showName() 方法 Tom.showName(); </script>
运行该例子,弹出一个消息提示框:我是Tom
如上面例子所示,我们在构造函数里设定了对象 name 属性,并通过对象的 prototype 属性增加一个 showName() 方法,最后通过 new 关键字来实例化一个对象。