无论如何都要访问参数的“名称”:
function(arg1, arg2) {
debug("arg1 is rotten!");
}
现在,如果我更改参数名称,我也必须更改字符串中的名称,所以我在寻找javascript是否有像How do i bind function arguments to the parameters i supply in creating an ArgumentException object?这样的解决方案
我想要一种方法来做类似的事情:
function(arg1, arg2) {
debug(arguments[0].name+" is rotten!");
}
因此,每当我更改参数名称时,我都不必搜索更改并进行相应更改(有时会多次使用!)
答案 0 :(得分:3)
您无法访问变量名称,只能访问其值。你可以得到的最接近的是你的方法的参数是一个'options'样式对象(它只是一个常规的JavaScript对象,但是调用'options'或'opts'并且包含你所有的参数是一种非常普遍的做法):
function test(opts){
for(var name in opts){
console.log(name + ' with value ' + opts[name] + ' is rotten!')
}
}
test({arg1: 'argument 1', arg2: 'argument 2'});
答案 1 :(得分:1)
每当你有一个函数时,函数中都有一个名为arguments
的数组,其中包含所有参数
答案 2 :(得分:0)
试试这个:
function show_me() {
for (var i=0; i < arguments.length; i++) {
alert(arguments[i]);
}
}
show_me('a', 'b');