javascript - 向 JavaScript 原型(prototype)添加多个方法?

标签 javascript prototypal-inheritance prototype-programming

例如,我试图找出将对象添加到原型(prototype)中是否可行和缺点

myObject.prototype = {

    init: function () {

    },

    runMe: function () {

    },

    removeItems: function () {

    }
}

这真的合法吗,分别做每一个有什么区别,即

myObject.prototype.init = function () {}

myObject.prototype.runMe = function () {}

我尝试查找有关添加为对象的 MDN 文档,但找不到任何内容。任何人都可以评论推荐的方法吗?

最佳答案

这两种方法都可以,您应该选择能够更轻松地完成您正在做的任何事情的方法。如果这是您修改原型(prototype)的唯一地方,那么唯一有意义的区别是第一种方法默认删除了原型(prototype)上的 constructor 属性。

因此,如果您确实覆盖了整个 prototype,您应该确保重新添加其构造函数:

myObject.prototype = {

    init: function () {

    },

    runMe: function () {

    },

    removeItems: function () {

    },
    // right here
    constructor: myObject
}

关于javascript - 向 JavaScript 原型(prototype)添加多个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40337873/

相关文章:

javascript - 使用 JavaScript 以编程方式按下 Alt 0

javascript - Ajax 请求问题 (Liferay)

javascript - 声明调用辅助函数的 javascript 原型(prototype)函数的正确方法是什么

javascript - 快速 Javascript 继承 : Understanding __proto__

Javascript:什么是多级原型(prototype)层次结构以及为什么我们应该避免它

javascript - Chrome 扩展程序可以修改用户的主机文件吗?

javascript - Node.js出现 "Cannot set headers after they are sent to the client"错误怎么解决?

javascript - 通过将 __proto__ 放入原型(prototype)来在 JavaScript 中继承是不是很糟糕?

使用 setPrototypeOf 的 javascript 继承

javascript - 为某个类的所有项目扩展 Javascript 原型(prototype)?