想必大家對參數傳遞並不陌生吧,本文為大家介紹下JS的參數傳遞,需要的朋友可以參考下
正常的來說,傳遞參數大概都是這麼寫:
代碼如下:
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" name="code" class="javascript"><pre code_snippet_id="179244" snippet_file_name="blog_20140207_4_1482200"></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
</pre>