gpt4 book ai didi

javascript - 从从字符串创建的函数中获取参数列表

转载 作者:行者123 更新时间:2023-11-30 16:58:36 24 4
gpt4 key购买 nike

这可能是一个奇怪的问题,但我很好奇它是否可行。我有以下 JavaScript 函数:

function createPerson(args){
alert(args.firstName);

if (args.surname){
alert(args.surname);
}
}

然后是下面的(例如函数存储为字符串的场景):

var functionAsString = 'createPerson({ firstName: \'John\' });';
var convertFunction = new Function(functionAsString);
convertFunction();

这会按预期提醒“John”。然后我想尝试做的是在执行它之前向参数添加一个姓氏,就像这样(但不是垃圾!):

convertFunction.arguments.surname = 'Smith';
convertFunction();

我还没有找到一种方法来获取函数参数中的对象以修改它。有谁知道这样的事情是否可能?谢谢!

最佳答案

我认为这是不可能的。

仔细看看 convertFunction 变量:

var functionAsString = 'createPerson({ firstName: \'John\' });';
var convertFunction = new Function(functionAsString);
console.log(convertFunction)
// function anonymous() {
// createPerson({ firstName: 'John' });
// }

如您所见,convertFunction 不是您的直接函数 - 它是一个匿名包装器,不接受参数并使用预定义参数调用您的函数。

关于javascript - 从从字符串创建的函数中获取参数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29258255/

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