从从字符串创建的函数中获取参数列表
get list of arguments from a function created from a string
这可能是一个奇怪的问题,但我很好奇它是否可行。我有以下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
不是您直接使用的函数——它是一个匿名包装器,不接受任何参数,并使用预定义的参数调用您的函数。
相关文章:
- ROR:如何在不重新加载浏览器的情况下从控制器获取参数
- 如何在reactrouterv2.+中从URL获取参数
- 如何获取参数的值
- 从从字符串创建的函数中获取参数列表
- jquery从url中获取参数也会在控制台日志中留下url
- 从Javascript中的URL获取参数
- IFrame 从不同域上的父 url 获取参数
- 如何使用React Router在Route Handler上获取参数
- Angularjs-如何从URL获取参数
- 从外部函数获取参数名称
- PHP从带有url的变量中获取参数
- 是否可以在 JavaScript 中按函数名称获取参数
- JS .replace(str, str):如何获取参数 1 中的变量并全局工作
- 从页面网址获取参数
- 如何在 router.use 中定义参数时获取参数
- 如何从 JavaScript 中的 JSON 对象获取参数的名称
- 我将一个函数(本身有一个参数)作为参数传递给另一个函数以及如何获取参数
- 如何获取参数对象的子集?(关于具有可变大小的参数)
- Javascript对象通信并从其他对象获取参数
- Websocket 从查询中获取参数