将参数和默认值动态绑定到 Javascript 中的现有函数

2023-12-25

假设你有一些功能一些Func()已经在 javascript 中定义,可能有也可能没有定义自己的参数集。是否可以编写另一个函数来添加必需的参数并将该参数设置为默认值一些Func()?就像是:

var someFunc = function(arg1, arg2 ...){ Do stuff...}
var addRequired = function(argName, argValue, fn) { 
    Add the required default arg to a function...
}

addRequired("x", 20, someFunc);

现在 someFunc 的定义大致如下:

someFunc = function(x, arg1, arg2...) {
    x = 20;
    Do stuff...
}

我真正想要的是not only bind a this值到一个函数(我已经知道如何实现),但还将另一个对象引用绑定到同一个函数(该函数不会提前知道,因为用户将定义它,但随后用户的代码可以访问该函数在自己的函数中使用的第二个对象引用)。因此,在上面的简单示例中,“20”值实际上是一个对象引用。

谢谢你尽你所能的帮助。


像这样:

function addParameter(func, argIndex, argValue) {
    return function() {
        arguments[argIndex] = argValue;
        arguments.length = Math.max(arguments.length, argIndex);
        return func.apply(this, arguments);
    };
}

someFunc = function(x, arg1, arg2...) {
    Do stuff...
}
someFunc = addParameter(someFunc, 0, someValue);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将参数和默认值动态绑定到 Javascript 中的现有函数 的相关文章

随机推荐