日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

JS入门之arguments对象

發(fā)布時間:2025/6/15 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS入门之arguments对象 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?? 每天一對象,JS天天見,今天我們來看看arguments對象及屬性。arguments對象不能顯式創(chuàng)建,arguments對象只有函數(shù)開始時才可用。函數(shù)的?arguments?對象并不是一個數(shù)組,訪問單個參數(shù)的方式與訪問數(shù)組元素的方式相同。索引?n?實際上是?arguments?對象的?0…n?屬性的其中一個參數(shù)。

??下面的示例演示了?arguments?對象的用法,arguments對象和Function是分不開的。
?1function?ArgTest(a,?b){
?2???var?i,?s?=?"The?ArgTest?function?expected?";
?3???var?numargs?=?arguments.length;?????//?獲取被傳遞參數(shù)的數(shù)值。
?4???var?expargs?=?ArgTest.length;???????//?獲取期望參數(shù)的數(shù)值。
?5???if?(expargs?<?2)
?6??????s?+=?expargs?+?"?argument.?";
?7???else
?8??????s?+=?expargs?+?"?arguments.?";
?9???if?(numargs?<?2)
10??????s?+=?numargs?+?"?was?passed.";
11???else
12??????s?+=?numargs?+?"?were?passed.";
13???s?+=?"\n\n"
14???for?(i?=0?;?i?<?numargs;?i++){??????//?獲取參數(shù)內容。
15???s?+=?"??Arg?"?+?i?+?"?=?"?+?arguments[i]?+?"\n";
16???}

17???return(s);??????????????????????????//?返回參數(shù)列表。
18}

?? 以上是arguments對象,由于和Function對象緊密地聯(lián)系在一起。也就是說每一個函數(shù)都有自己的argument屬性。下面我們來看看argument屬性:為當前執(zhí)行的function?對象返回一個arguments?對象,function 參數(shù)是當前執(zhí)行函數(shù)的名稱,可以省略。

?? 通過?arguments?屬性(相對于Function來說),函數(shù)可以處理可變數(shù)量的參數(shù)。arguments?對象的?length?屬性包含了傳遞給函數(shù)的參數(shù)的數(shù)目。對于arguments?對象所包含的單個參數(shù),其訪問方法與數(shù)組中所包含的參數(shù)的訪問方法相同。請看下面的例子:
?1function?ArgTest(){
?2???var?i,?s,?numargs?=?arguments.length;
?3???s?=?numargs;??
?4???if?(numargs?<?2)
?5??????s?+=?"?argument?was?passed?to?ArgTest.?It?was?";
?6???else
?7??????s?+=?"?arguments?were?passed?to?ArgTest.?They?were?"?;
?8???for?(i?=?0;?i?<?numargs;?i++)
?9??????{
10?????????s?+=?arguments[i]?+?"?";
11??????}

12???return(s);
13}

?? 我們知道每一個對象都有自己的屬性,arguments對象也不例外,首先arguments的訪問猶如Array對象一樣,用0到arguments.length-1來枚舉每一個元素。下面我們來看看callee屬性,返回正被執(zhí)行的? Function?對象,也就是所指定的? Function?對象的正文。 callee?屬性是? arguments?對象的一個成員,僅當相關函數(shù)正在執(zhí)行時才可用。 callee?屬性的初始值就是正被執(zhí)行的? Function?對象,這允許匿名的 遞歸函數(shù)
1function?factorial(n){
2??if?(n?<=?0)
3??return?1;
4??else
5????return?n?*?arguments.callee(n?-?1)
6}

7print(factorial(3));
8 ??
? 到這里基本上把arguments對象給講完了,不知還有其他的東西嗎?其實很多東西我們都已經很熟悉了,除了上述的callee屬性外,其他的我們都時不時在應用他們。OK,今天的對象學習就到這里了,明天要看的對象將是Boolean對象。

總結

以上是生活随笔為你收集整理的JS入门之arguments对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。