javascript - 我什么时候应该在 JavaScript 中使用 "prototype"

标签 javascript

我用 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/

相关文章:

javascript - 这个函数有什么作用?奇怪的语法是什么?

javascript - 无法使用 Webpack DevServer 接收我的 js 和 css 文件

javascript - 如何使用javascript或nodejs在windows/mac中查找软件是否安装

javascript - 为什么 fetch 在我的移动浏览器上不起作用?

JavaScript:根据选择的 <option> 在包含 <select> 的表中设置 <td> 的背景颜色

javascript - 突出显示管道不会突出显示值的所有实例

javascript - 如何使用动态长度链接 Promise 函数?

javascript - 如何格式化包含变量的正则表达式?

php - 如何使用 php echo 包含一个 javascript 文件?

javascript - 在推送对象时,我得到的所有内容都是 NULL angular2+typescript