javascript - 将方法继承到除基元之外的所有对象

标签 javascript inheritance prototype

我想添加一个能够作用于所有对象的方法。最好它不应该存在于它无法工作的原语(数字、 bool 值、字符串、符号)上。

这可能吗?如果可能的话,如何实现?

使用 Object.prototype 不起作用,因为原始类型继承自 Object。

最佳答案

您可以在Object的原型(prototype)上设置该函数,然后在构造函数的原型(prototype)上设置您不希望其未定义的相应成员:

Object.prototype.foo = function() { alert("foo"); };
Number.prototype.foo = undefined;
var x = {};
var y = 10;
x.foo(); // works
y.foo(); // TypeError: y.foo is not a function

我不知道你为什么要这样做,而且看起来有点代码味道,但就是这样。

关于javascript - 将方法继承到除基元之外的所有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39313108/

相关文章:

javascript - Flot 无法上传 JSON

javascript - Raphael.js 新手问题 : how to create a rectangular and lines as ONE object?

javascript - 使用 Promise 进行异步编码

C++ QList继承自定义方法问题

javascript - 在js中找到多边形的中心点

javascript - 如何从 uploadfilefield 获取文件内容?

c# - 我们可以使用基类对象访问派生类属性吗?

Python:继承与组合

javascript - 添加新的 Canvas 上下文方法

javascript 对原型(prototype)函数的引用在构造函数中未定义