正常的来说,传递参数大概都是这么写:
复制代码 代码如下:
var numparameter = 123;
function sendparameter()
{
getparameter(numparameter );
}
function getparameter(sendnum)
{
alert(sendnum);
}
很简单的a方法调用b方法并传参。
但是,如果b方法的参数不是固定的,可能根据不同的情况,需要不同的参数,可以这么写:
复制代码 代码如下:
var txtparameter1 = 123;
var txtparameter2 = 234;
var txtparameter3 = 345;
var txtsendparameter = ;
var flag = 0;
function sendparameter1()
{
flag = 1;
txtsendparameter = txtparameter1 + ; + txtparameter2;
getparameter();
}
function sendparameter2()
{
flag = 2;
txtsendparameter = txtparameter2 + ; + txtparameter3;
getparameter();
}
function getparameter()
{
if(1==flag)
{
//goto functionc(txtsendparameter)
}
else if(2==flag)
{
//goto functiond(txtsendparameter)
}
else
{
return;
}
}
那么能不能不使用全局变量来传值:
复制代码 代码如下:
var txtparameter1 = 123;
var txtparameter2 = 234;
var txtparameter3 = 345;
function sendparameter1()
{
var txtsendparameter = 1 + txtparameter1 + ; + txtparameter2;
getparameter(txtsendparameter);
}
function sendparameter2()
{
var txtsendparameter = 2 + txtparameter2 + ; + txtparameter3;
getparameter(txtsendparameter);
}
function getparameter()
{
switch(arguments[0])
{
case 1:
//goto functionc(arguments);
break;
case 2:
//goto functiond(arguments);
break;
default:
//goto functione(arguments);
}
}
相对的来说arguments是一个很灵活的对象,虽然不是array,但是可以和array一样使用下标取值,虽然有点生僻,但是还是很好用。
复制代码 代码如下: