javascript - 如何在不调用javascript函数的情况下查询它的参数

标签 javascript function introspection

给定一个如下所示的命令队列。 .

var commandQueue = [
        function() {thing(100, 0, shiftFunc)},
        function() {thing(100, 233, shiftFunc)},
        function() {thing(100, 422, shiftFunc)}
];

如何编写一个函数,将 commandQueue 作为参数,并将第二个参数(索引 [1])的总和返回给队列中的函数,而不调用队列中的函数?

最佳答案

你可以使用 Function#toString和一个正则表达式,用于搜索第一个和第二个逗号之间的值。

var commandQueue = [
        function() {thing(100, 0, shiftFunc)},
        function() {thing(100, 233, shiftFunc)},
        function() {thing(100, 422, shiftFunc)}
];

console.log(commandQueue.reduce(function (r, a) {
     return r + +((a.toString().match(/,\s*(\d+),/) || [])[1] || 0);
}, 0));

关于javascript - 如何在不调用javascript函数的情况下查询它的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42394242/

相关文章:

javascript - 如何精确 trim 视频

javascript - 如何禁用 Angular Material 中的内置按键操作?

java - 从另一个类调用类函数。错误

perl - Excel::Writer::XLSX (Perl) 表内省(introspection)

templates - 内省(introspection)模板参数(尤其是模板别名参数)

javascript - 在输入和输出中添加逗号

javascript - Uncaught Error : no data returned for views/AgeTypes.fragment.xml

php - PHP 的列表函数是如何工作的?

java - 在封闭函数中处理未处理的检查异常

ruby-on-rails - 使用 Rails paths.rb 文件生成 API 引用文档的最佳方法是什么?