當我設置arugments[0] = chewie; arguments[1] = luke
它打印:的Javascript arguments對象無法正常運行
巴卡
巴卡
漢·索羅
巴卡
什麼我的預期是以下幾點:
巴卡
天行者盧克
漢·索羅
巴卡
function starWars(luke, darth, han, chewie) {
arguments[0] = chewie;
arguments[1] = luke;
document.write(arguments[0] + "<br>");
document.write(arguments[1] + "<br>");
document.write(arguments[2] + "<br>");
document.write(arguments[3] + "<br>");
}
starWars("Luke Skywalker", "Darth Vader", "Han Solo", "Chewbacca");
任何人都可以解釋我爲什麼在我預期它不工作的細節?
你應該** **不被以'手動arguments'分配值。在幾乎所有情況下,不再需要在ES2015或更高版本中使用'arguments'對象 – naomik
因爲'arguments [0]'和'luke'完全相同。不是兩個引用相同的值,但基本上都是**種類相同的變量**。如果你改變'arguments [0]','luke'也會改變;反之亦然。這麼多知識;沒有任何理由來解釋或甚至使用它。聆聽@naomik,儘可能避免使用'arguments'對象。 – Thomas