2017-03-03 47 views
1

在Javascript中,函數參數就像變量一樣嗎?我可以像任何變量一樣在函數體內重新分配它們(似乎工作正常),是「好的做法」還是應該將參數存儲在變量中,然後重新分配變量?函數參數只是變量嗎?我應該重新分配嗎?

function example(a) { 
    a = 5; 
    return a; 
} 

function example2(a) { 
    var b = a; 
    b = 5; 
    return b; 
} 

任何區別就在這裏?

+0

你是什麼意思的函數參數?你是在談論你傳遞給函數的參數對象或參數嗎? 「重新分配IT ......就像變量」一樣意味着什麼?你能否用一個例子來詳細說明你所指的確切場景?正如問題所展示的那樣,它是非常開放的解釋,任何答案都可能會或可能不會回答你的問題,甚至可能不會接近你所指的。 – Nope

+0

除非是代碼高爾夫比賽,否則將您的功能分配給一個變量。函數聲明就像是承諾某個代碼塊可以通過某個名稱訪問。另一方面,變量 - 我希望它們有所不同。 – gyre

+0

參考這個https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/arguments –

回答

0

如果給一個新變量賦值一個參數是它的唯一用處,那麼通過創建一個新變量並通過混淆代碼的讀者來產生開銷,因爲他們期望使用其他參數。

如果您再也不使用該參數,那麼請保留該參數並使用它,即使是新分配。

function example2(a) { 
    var b = a; // now a is never used again 
    b = 5; 
    return b; 
} 
+0

好的。謝謝。 –

相關問題