我在JavaScript / JQuery中做了大量的编程。
但我从未使用过“原型”。事实上,我不知道它意味着什么。
如果它有用,你有一个实际的例子吗?
答案 0 :(得分:11)
最简单的例子:
function Foo() {
this.bar = function() {
return 42;
}
}
现在,您可以根据需要创建Foo
的任意数量的实例并致电bar()
:
var a = new Foo();
var b = new Foo();
尽管两个对象的bar()
方法在两种情况下完全相同,但这些方法都是不同的。实际上,每个新的Foo
对象都将拥有此方法的新副本。
另一方面:
function Foo() {}
Foo.prototype.bar = function() {
return 42;
}
具有相同的最终结果,但该函数仅在对象prototype
中存储一次,而不是在对象本身中存储。如果您创建大量Foo
个实例并希望节省一些内存,这可能会造成交易。
答案 1 :(得分:2)