我不得不在我的项目中覆盖一个函数。 这里是original.js
文件:如何在Javascript中覆盖函数时减少冗余代码?
lib.func = function(a){
//original logic
}
这是A.html
,我改写func
功能:
<script src='original.js'></script>
<script>
var original = lib.func;
lib.func = function(a){
//overwrite to modify a
a.replace(c, 'new');
original(a);//call original function
}
</script>
这是B.html
在那里我有替换a
另一个字符串d:
<script src='original.js'></script>
<script>
var original = lib.func;
lib.func = function(a){
//overwrite to modify a
//***********Different replacement source********
a.replace(d, 'new');
original(a);//call original function
}
</script>
我的问题是: 有没有办法将这个覆盖逻辑放在一个文件中,我可以在a.html
和b.html
中使用它?
是否有其他更改,然后取代'c'和'd'? –
@OAD不,只修改具有不同值的参数'a'。 – JasmineOT
您正试图根据上下文重写逻辑。当你调用lib.func(a)时你将不得不提供一些上下文。为什么你需要这个电话与原来的完全一样?你能接受一个上下文对象吗? – santon