读书人

能不能用个变量顶替函数参数列表

发布时间: 2013-02-06 14:02:21 作者: rapoo

能不能用个变量代替函数参数列表?
请教大虾们:
原函数
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模式,把参数封装到一个对象里面 ,作为一个整体去做参数。

读书人网 >JavaScript

热点推荐