抱歉,如果在某个地方回答了这个问题(可能是),但我不太确定如何正确提问,所以我搜索失败:(
基本上我想做这样的事情:
(a||b).prototype.c = function () {
// do something
}
基本上 a 和 b 是对象。一个或另一个将存在,但不会同时存在。但我不知道哪个会存在,但我需要为任何一个添加一个方法。
现在,我知道我可以这样做:
if (typeof(a) == 'object') {
a.prototype.c = c;
} else if (typeof(b) == 'object') {
b.prototype.c = c;
}
function c () {
// do something
}
但这有 c 在全局级别拥有自己的命名空间的问题,我不希望这样。我不希望 c 在任何时候都在全局级别拥有自己的命名空间。
Soo...显然上面的第一段代码不起作用。我该怎么办?或者这样的事情根本不可能?如果之前已经回答过,请随时关闭并指出正确的方向......