gpt4 book ai didi

javascript - 如何在 JavaScript 中复制/混合函数并修改其中的一些硬编码字符串?

转载 作者:行者123 更新时间:2023-12-03 02:14:54 24 4
gpt4 key购买 nike

假设我有这个方法:

    myMethod1() {
const a = 1;
const b = 2;

return callsAnotherFunction(`foo: ${a + b} $`);
}

现在我也想将它放在另一个函数中,但使用 bar 而不是 foo

    myMethod2() {
const a = 1;
const b = 2;

return callsAnotherFunction(`bar: ${a + b} $`);
}

这是否可以在不修改myMethod1的情况下实现?

在某种程度上,如果 myMethod1 更改为其他内容,可以说:

    myMethod1() {
const a = 1;
const CHANGE = 2;

return callsAnotherFunction(`foo: ${a + CHANGE} $`);
}

我不必触摸myMethod2,因为它只是克隆myMethod1并将foo更改为bar,因此自动给我:

    myMethod2() {
const a = 1;
const CHANGE = 2;

return callsAnotherFunction(`bar: ${a + CHANGE} $`);
}

也许像将函数解析为字符串,替换某些文本并输出新函数之类的东西?像这样的事情:

    myMethod2() {
const hypothetical = @toString(myMethod1)
hypothetical.replace('foo', 'bar');
return @toFunction(hypothetical);
}

^上面的代码显然不起作用,因为该语法不存在,它只是为了澄清我想要做什么。

这样的事情可能吗?

感谢您的帮助。

编辑:我无法编辑/访问方法1

最佳答案

如果您无法修改该函数,那么您就无法修改其主体中的硬编码字符串。使用函数构造函数不是一个好主意,并且在许多情况下不起作用,因为 Content Security Policies这可以阻止使用eval/Function(它们被认为是相同的)。

关于javascript - 如何在 JavaScript 中复制/混合函数并修改其中的一些硬编码字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49404229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com