【发布时间】:2020-04-21 03:33:12
【问题描述】:
创建了一个像“Obj”这样的全局对象:
Obj = {
gtm : {},
method: function(){console.log("Method is called");}
};
在其他一些地方使用Obj.method()。
我的问题是我能否以任何方式扩展“Obj”的代码以阻止对Obj.method() 的调用。
我不想重写或删除其他地方的代码,因为那将是很多变化。相反,我想更改原始代码,以便在某些情况下我不会调用该方法。
代理不是一个选项,因为代理还需要我更改其他地方的呼叫。并且代理在 IE 11 中不起作用。
我可以重写构造函数并实现我想要的吗?
感谢和问候
【问题讨论】:
-
我看不到任何方法可以用这段代码调用。
-
有机会纠正 sn-p 吗?目前,
$和data都没有在创建函数中使用。而且,method甚至没有附加到返回的对象。 -
@TKoL 我已经编辑了问题中的代码。
-
@WiktorZychla 我已经编辑了问题中的代码。
-
"我可以重写构造函数吗" — 示例中没有构造函数。
标签: javascript javascript-objects javascript-inheritance