我想知道 javascript 原型(prototype)。我知道原型(prototype)设计使用户能够向构造函数或对象添加新的属性和方法。
我已经使用过以下多次:
function Example() {}
Example.prototype.add = function () {};
Example.prototype.sub = someVar;
这样我就可以使用Example.add作为函数,使用Example.sub作为对象的元素。 但是当有人写这样的东西时就会发生
Example.prototype = function() {
//Code
};
有什么帮助吗?
最佳答案
原型(prototype)是 javascript 查找方法/变量的地方。
当使用new时,构造函数的原型(prototype)也会被赋予创建的对象。
因此,原型(prototype)必须是一个对象(并且您可以更改其内容)。
原型(prototype)的主要用途是有:
var myExample = new Example();
myExample.add() => call the add function of the prototype with this = myExample.
编辑:因为函数是对象,所以将函数分配给原型(prototype)应该可以工作(您仍然可以向其添加可以是函数的属性)。但是,我没有看到任何有用的用例来做到这一点
关于javascript - javascript.prototype.abc 和 javascript.prototype 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9598339/