所以我有一个带有很多参数的函数,例如
function myFunction(height, width, name, surname, time){
...
}
麻烦的是我想用这个函数发送不同的参数集。
所以有时它会......
function myFunction(height, width, depth, name, surname, time){
...
}
该函数用于许多任务,我不希望函数中有一长串参数,并且在调用函数时需要在值列表中添加大量空格。
我需要更动态的东西,理想情况下,关联数组会传递给函数和从中创建的变量。
答案 0 :(得分:6)
因为JavaScript没有命名参数,所以人们通常将对象用作“接口”
您可以接受作为对象的单个参数,并将所有这些参数作为键。
function myFunction(options){
//access to options.height and more...
}
将对象中打包的参数传递给函数
myFunction({
height: 100,
widht: 300,
...
});
答案 1 :(得分:0)
我喜欢使用arguments参数。
function args() {
for (var i = 0; i < arguments.length; i++) {
alert(arguments[i]);
}
}
答案 2 :(得分:0)
我的上一篇文章错了。我有一些不同的想法。对不起。
你可以编写一个带有长参数的函数,但是在执行函数时你不必使用所有这些函数。
功能
function foo(a, b, c) {
//body;
};
可以像这样执行:
foo(a);
foo(a,b);
foo(a,b,c);
在函数内部检查参数是否为空以及是否设置了defaut值
function foo(a, b, c) {
a = a !== 'null' ? a : defaultValue;
b = b !== 'null' ? b : defaultValue;
c = c !== 'null' ? c : defaultValue;
};