日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js中的arguments

發布時間:2025/5/22 编程问答 77 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js中的arguments 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

arguments是JavaScript里的一個內置對象,是指向實參對象的引用,它很古怪,也經常被人所忽視,但實際上是很重要的。所有主要的js函數庫都利用了arguments對象,所以agruments對象對于javascript程序員來說是必需熟悉的。

JS本身并沒有重載函數的功能,但Arguments對象能夠模擬重載,JS中每個函數都會有一個Arguments對象實例arguments,arguments是收到的實參副本,在詞法分析中, 首先按形參形成AO的屬性,值為undefined,當實參傳來時, 再修改AO的相應屬性,可以用數組下標的方式"[]"引用arguments的元素,arguments.length為函數實參個數,arguments.callee引用函數自身;arguments不是一個數組,如果用typeof arguments,返回的是’object’。雖然我們可以用調用數據的方法來調用arguments。比如length,還有index方法。但是數組的push和pop對象是不適用的。

arguments的特性和使用方法
1.特性:arguments對象和Function是分不開的,因為arguments這個對象不能顯式創建,arguments對象只有函數開始時才可用。
2.使用方法:雖然函數的arguments對象并不是一個數組,但其訪問單個參數的方式與訪問數組元素的方式相同,索引n實際上是arguments對象的0…n 屬性的其中一個參數;雖然arguments對象并不是一個數組,但是訪問單個參數的方式與訪問數組元素的方式相同;例如:arguments[0],arguments[1],。。。。。。。。arguments[n];在js中不需要明確指出參數名就能訪問它們,例如:

function test(){
var s;
for(int i=0;i

{s+=arguments[i]+",";}

return s;
}
test("name","age")
輸出結果:
name,age

我們知道每一個對象都有自己的屬性,arguments對象也不例外,首先arguments的訪問猶如Array對象一樣,用0到arguments.length-1來枚舉每一個元素;下面我們來看看callee屬性,返回正被執行的Function對象,也就是所指定的Function對象的正文;callee屬性是arguments對象的一個成員,僅當相關函數正在執行時才可用。callee屬性的初始值就是正被執行的Function對象,這允許匿名的遞歸函數。

var sum=function(n){
if(1==n) {
   return 1;
} else {
  return n + arguments.callee(n-1);

  }
}
alert(sum(6));

通俗講就是,arguments對象大多用來針對同個方法多處調用并且傳遞參數個數不一樣時進行使用。根據arguments的索引來判斷執行的方法。

arguments的用法和特性基本就是這么多了;可能callee屬性用到的比較少,但是如果自己封裝或者寫一些js的時候,除了callee的東西基本都會用到。

總結

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

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