正常的来说,传递参数大概都是这么写:
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一样使用下标取值,虽然有点生僻,但是还是很好用。
<pre code_snippet_id="179244" snippet_file_name="blog_20140207_4_1482200">
登录后复制