能不能用个变量代替函数参数列表?
请教大虾们:
原函数
function x(a,b,c){
//--
}
能不能用一个y代替a,b,c
y要如何做才能向x传递了abc三个参数?
function x(y){
//-----
}
------解决方案--------------------方法一:
var a = 1 , b = 2 , c = 3;
y = [a , b , c];
//传入一个数组
x(y);
写法二
var a = 1 , b = 2 , c = 3;
function x(){
//用内置属性arguments
alert(arguments);
}
x(a , b , c);
------解决方案--------------------//JSON对象
function x(y){
//-----
alert(y.a+'\n'+y.b+'\n'+y.c);
}
x({a:'a',b:'b',c:'c'})
------解决方案--------------------不清楚你产生这个需求的背景,如果普通的话只能这样来处理:
function x(a, b, c){
console.log(a);
console.log(b);
console.log(c);
}
function y(z){
console.log(z);
var d = null,
e = null;
if(d = arguments[1]){
console.log(d);
}
if(e = arguments[2]){
console.log(e);
}
}
x(1,2,3);
y(4,5,6);
------解决方案--------------------js函数的参数列表本身就是个数组,所有参数都在arguments里
------解决方案--------------------1楼的方法一 二楼的方法 都可以 ,就是 模式里常说的 Request-Response模式,把参数封装到一个对象里面 ,作为一个整体去做参数。