关于prototypal继承:javascript中prototype属性的用途是什么?

what is the use of prototype property in javascript?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
How does JavaScript .prototype work?

当属性可以添加到对象中时,原型属性的用途是什么?

1
2
3
4
5
6
var o = {};

o.x = 5;
o.y = test;

test = new function(){ alert("hello"); };


向原型添加方法/属性就是将其添加到原型链中具有该原型的所有对象中。

您的代码正在向单个实例添加方法/属性。

要使用原型,需要使用new创建对象。如果您通过一个对象文本创建一个对象,那么您就不能为该对象指定原型,据我所知,您不能回顾性地设置原型。


可以使用它为现有对象创建新方法。

1
2
3
4
5
String.prototype.displayFirstCharacter = function(){
   alert(this.substr(0,1));
}

"my string, first char should be 'm'".displayFirstCharacter();