相关疑难解决方法(0)

如何动态获取函数参数名称/值?

有没有办法动态获取函数的函数参数名称?

假设我的函数看起来像这样:

function doSomething(param1, param2, .... paramN){
   // fill an array with the parameter name and value
   // some other code 
}
Run Code Online (Sandbox Code Playgroud)

现在,我如何从函数内部获取参数名称及其值的列表到数组中?

javascript reflection function-parameter

282
推荐指数
14
解决办法
16万
查看次数

JavaScript:获取参数值和传递变量的名称

我想要做的就是传递给函数的变量的名称该变量的值,并且只在一个变量传递给函数.所以:

var x = "anything";

function showName() {

}

showName(x);
Run Code Online (Sandbox Code Playgroud)

要么

showName("x");
Run Code Online (Sandbox Code Playgroud)

将返回:"x =任何东西".

现在,我必须指定变量两次:

showName("x", x);
Run Code Online (Sandbox Code Playgroud)

为了获取我传入的变量的名称和值.

请注意,我对showName原型中的参数名称不感兴趣,但是对调用函数中的变量名称不感兴趣.另外,传递的变量可能是本地的,所以我不能使用window对象来查找变量.

javascript arguments

46
推荐指数
3
解决办法
5万
查看次数

JavaScript函数参数:位置 - >映射转换

我正在寻找一个vanilla JavaScript解决方案.

假设我有一个带有以下标题的函数:

generateEmail(firstName, lastname, provider)
Run Code Online (Sandbox Code Playgroud)

我需要像这样运行它:

generateEmail("John","Smith","gmail.com");
Run Code Online (Sandbox Code Playgroud)

我希望能够用参数映射而不是位置参数来调用它,即

generateEmail({
  "firstName":"John",
  "lastname": "Smith",
  "provider": "gmail.com"
});
Run Code Online (Sandbox Code Playgroud)

而且我正在寻找一个已经编写好的JavaScript解决方案,因为我有无限数量的函数,比如上面的generateEmail来处理.这样的图书馆存在吗?

我见过https://github.com/kilianc/node-introspect处理函数内省(返回函数抽象参数信息).但第二部分缺失 - 将map-call映射到位置调用.

请告诉我,这样的事情是否存在.


编辑:如果我没有说清楚:我不想修改原始的位置参数函数.我从外部提供程序获得这些函数,可以更新他的代码.我宁愿选择一个可以调用下面原始函数的包装器,并在外面提供一个map-argument API.

javascript syntax dictionary arguments function

8
推荐指数
1
解决办法
164
查看次数