关于arguments的用法
當函數的參數個數無法確定的時候:用 arguments。函數的 arguments 對象并不是一個數組,它相當于是一個實參的集合,但是訪問單個參數的方式與訪問數組元素的方式相同。訪問
函數中的第n個參數 則可以使用arguments[n-1]。
1、arguments實際為實參的集合。既然是集合,那么一定有長度length;
arguments.length為函數實參的個數,要注意的是,arguments對象并不是一數組,它也不具有數據的所有方法,但是訪問單個參數的方式與訪問數組元素的方式相同。比如:
alert(sum( 1,2,3,4 )) //返回的結果就是10 function sum (){var n = 0;for( var i=0; i<arguments.length; i++ ){n += arguments[i];}return n; }2、屬性callee
對象都是有自己的屬性和方法的,Arguments對象也是一樣,callee就是它的方法,這個方法用的不多,很容易被我們忽略,它指向的是正在被執行的Function對象,
最常用的例子就是用來做遞歸了。比如:
function sum(n){if(n==1){return 1;}else{return n+arguments.callee(n-1)}} console.log(sum(100)) //打印的結果就是5050這個打印出來,就相當于實現了從1加到100的結果,實際上就是一個簡單的計算器。
其實,關于arguments簡單總結一下就是:
1、arguments像數組,是一個實參集合。
2、arguments有length屬性,代表傳給函數的參數個數。
3、可以數組下標訪問參數,如arguments[0],但是沒有數組其它方法。
4、可以使用callee這個屬性調用自身。
好了,大概就是這樣了,若是有問題,歡迎指出!
轉載于:https://www.cnblogs.com/web001/p/8047564.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的关于arguments的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何使用ffmpeg下载腾讯课堂视频(亲
- 下一篇: MATLAB数据拟合时出错