想法是这样的:我希望能够做到这一点,以便我可以更改输入在函数中的重要性。可以说正常功能如下所示:
var f = function(a,b,c,d){
return a * b / c + d;
}
我希望能够重新定义函数,这样当用户调用时,f(w,x,y,z)
如果变量(比如说changed
)为真,它的行为就好像用户调用了f(w,z,y,x)
!(不是特别按相反顺序,只是与原始函数的顺序不同)
如果我想编写一个以这种方式运行的单独函数,我可以执行以下操作:
var newF = function(a,b,c,d){
if(changed === true){
return f(c,d,b,a);
}
else{
return f(a,b,c,d);
}
}
然后用电话替换所有f
电话newF
,但这不是我要的。
是否可以重新定义与实际函数同名的函数,以及如何完成?如果我不能,请解释为什么不能。
解释:
我想这样做的原因是因为我有一个应用程序,它具有使一切听起来自然的功能(比如直线中的点是直的),但是如果我切换一些值,它会创建一个有趣的、不切实际的情况,我认为这将是一个有趣的选择。我上面的选项是可行的,我可以使用它,但我只是想知道是否可以将它保留在相同的函数名称中