javascript - javascript.prototype.abc 和 javascript.prototype 之间的区别

标签 javascript prototype

我想知道 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/

相关文章:

javascript - 如何在不更改为新对象的情况下设置对象的构造函数?

javascript - 如何为单个类设置原型(prototype)对象的属性

JavaScript 模式 : "copy" ClassA properties to ClassB

javascript - "?"符号在静态 JS 文件的请求中意味着什么?

JavaScript - 鼠标悬停和鼠标移开图像

javascript - 无法读取匹配当前 window.location.href 的 null 属性 'length'

javascript - 函数的子函数作为原型(prototype)

javascript - 如何在 NodeJS 中传递命令行参数?

javascript - AngularJS - 在 ngRepeat 中重置 ngInit

javascript - Canvas - 从原型(prototype)中绘制图像