arguments是目前正在執行的function的一個參數,它保存了函數目前呼叫的參數。
使用方法:function.arguments[i]。
其中function.是可選項,是目前正在執行的function的名稱。
arguments不能夠創建,是函數本身的參數,只有當函數開始執行是才能使用。
雖然arguments的使用方法,很像數組,但是它並不是數組。
下面,用範例來進行示範:
function argumentsTest (a,b) { alert(typeof arguments); } argumentsTest(1,2);
可以看到,這是瀏覽器視窗彈出的,arguments的類型是object。
function argumentsTest (a,b) { // alert(typeof arguments); alert(arguments.length); } argumentsTest(1,2);
彈出結果:
function argumentsTest (a,b) { // alert(typeof arguments); // alert(arguments.length); alert(arguments[1]); } argumentsTest(1,2);
彈出結果:
下面是,callee方法,回傳的是正在被執行的function物件。function argumentsTest (a,b) { // alert(typeof arguments); alert(arguments.length); // alert(arguments[1]); } argumentsTest(1,2,3,4);彈出結果: 下面是關鍵,arguments.callee.length回傳的是多少呢?
function argumentsTest (a,b) { // alert(typeof arguments); // alert(arguments.length); // alert(arguments[1]); alert(arguments.callee); // alert(arguments.callee.length); } argumentsTest(1,2,3,4);彈出結果: 可知,arguments.length返回的是實參的長度,為4 ;而arguments.callee.length返回的是形參的長度,僅為2.