我认为这是一个初学者的问题:如何解决函数中的特定参数而忽略其他参数?
示例:
function test(para_1, para_2, para_3) {
if (para_3 == true) {
alert('only the third parameter was successfully set!');
}
}
test(para_3=true);
我想单独决定是否在函数中使用某个参数。
答案 0 :(得分:2)
您可以使用if(param)
分别检查每个参数,例如:
function test(para_1, para_2, para_3) {
if (para_1) {
// First parameter set
}
if (para_2) {
// Second parameter set
}
if (para_3) {
// Third parameter set
}
}
一般来说,不能只设置一个参数并期望它是第三个参数,因为它会自动将其设置为第一个参数,其余2个参数设置为undefined
。因此,如果你想调用你的函数并且只有第三组,那么很可能你会做一个
test(null, null, 'this_is_set');
答案 1 :(得分:1)
在JavaScript中无法传递命名参数。您可以做的最好的事情是接受一个对象作为单个参数,然后从那里决定要设置哪些属性。
function test(obj) {
if (obj.para_3 == true) {
alert('only the third parameter was successfully set!');
}
}
test({para_3:true});
答案 2 :(得分:0)
您还可以应用存储在数组中的参数。参数数组的entrys将映射到函数的参数。
var arg = [];
arg[2] = true;
test.apply(this, arg);
另一种方法是将其他参数设置为undefined:
test(undefined, undefined, true);