javascript - 在 JavaScript 中,有没有办法获取闭包参数
问题描述
我有两个文件:
//------------a.js--------------
function a(){
return '1'
}
var testCase = {
func(){
return a()
}
}
module.exports = testCase
//------------b.js--------------
var testCase = require('./a.js')
//Can I get closure parameters(function a) that not modify a.js?
有没有办法在 JavaScript 中获取闭包参数?谢谢你!
解决方案
如果您的意思是从函数 walk() {} 中的闭包 run(x, y) {} 之类的闭包中返回参数列表,那么下面的代码可能会有所帮助。
function walk() {
function run(x, y) {
return x + y;
}
return run;
}
var fun = walk();
fun.getParameters = function () {
var functionText = this.prototype.constructor.toString();
return functionText
.substring(functionText.indexOf('(') + 1, functionText.indexOf(')'))
.split(',')
.map(x => x.trim());
};
console.log(fun.getParameters());
推荐阅读
- postgresql - 如何避免被死锁阻塞?
- python - Nifi 使用 python 网络爬虫
- angularjs - 如何为最终将升级到 Angular 6 的 AngularJS 应用程序编写 Jasmine 单元测试?
- php - PHP-FPM长轮询配置
- javascript - 是否可以使用 nodejs 向特定的 Skype 帐户发送消息?
- android - 在 Android WebView 中仅启用桌面模式
- javascript - DNN error using startupscript when not logged in
- node.js - 使用 sAMAccountName 和密码/NodeJs 使用 Active Directory 进行身份验证
- c# - Unity - 如何获取父游戏对象中心的位置
- python - 与属性类相比,使用属性装饰器有优势吗?