文档介绍:JS Prototype 我们知道JScrip t中对象的prototyp e属性,是用来返回对象类型原型的引用的。我们使用 prototype 属性提供对象的类的一组基本功能。并且对象的新实例会" 继承"赋予该对象原型的操作。但是这个 prototype 到底是怎么实现和被管理的呢? 对于对象的 prototype 属性的说明, JScript 手册上如是说:所有 JScript 内部对象都有只读的 prototype 属性。可以向其原型中动态添加功能(属性和方法),但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。下面我们看三个经典的 prototype 属性的使用示例。 1、为脚本环境内建对象添加方法: 程序代码 =function() {var i,max =this[0]; for (i=1;i<; i++) {if(max <this[i]) max =this[i]; }return max; };2、为用户自定义类添加方法: 程序代码 function TestObject(name) { =name; } =function() {alert(); }; 3、更新自定义类的 prototype : 程序代码 function TestObjectA() { =function() {alert(&apos;()&apos;); }}function TestObjectB() { =function() {alert(&apos;()&apos;); }} =new TestObjectA(); 第三个很眼熟吧?对啊,它就是我们前面介绍的原型继承法呀~~不过今天我们不是研究"继承",之所以可以这样来实现一种继承,只是利用了 prototype 属性的一个副作用而已。 prototype 还有一个默认的属性: constructor ,是用来表示创建对象的函数的(即我们 OOP 里说的构造函数)。constructor 属性是所有具有 prototype 属性的对象的成员。它们包括除 Global 和Math 对象以外的所有 JScript 内部对象。 constructor 属性保存了对构造特定对象实例的函数的引用。弄清楚了 JScript 中prototype 属性怎么使用后,下面我们再来深入的研究它。上面的文章中我罗列了一下 prototype 属性在 JScript 中的各种用法,但是 prototype 这个东西却不是 JScript 创造出来的, JScript 实际上是使用了我们设计模式中 prototype pattern 的一种衍生形式。下面我先简单的说一下 prototype pattern ,然后再来看到底 JScript 中的 prototype 是怎么回事?! What&apos;s prototype pattern? Specify the kinds ofob