我有两个档案:
//------------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中获取闭包参数?谢谢!
答案 0 :(得分:1)
如果你想从一个闭包中返回参数列表,比如从函数walk(){}里面的闭包运行(x,y){}获取get 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());