我用 JavaScript/JQuery 进行了大量编程。
但我从未使用过“原型(prototype)”。事实上,我不知道这是什么意思。
你有什么实用的例子吗?
最佳答案
最简单的例子:
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
实例并希望节省一些内存,这可能会破坏交易。
关于javascript - 我什么时候应该在 JavaScript 中使用 "prototype",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7312888/