1. 程式人生 > >arguments物件

arguments物件

function f() {return arguments;}

>>f(1,2,3)

 [1,2,3]

   儘管arguments看上去想一個數組,但它實際上是一個類似陣列的物件,它和陣列相似是因為其中也包含索引元素個length屬性,但相似之處也就到此為止了,因為如果arguments是一個單純的陣列,它是不會提供一些像sort()、slice()這樣的陣列方法的

   arguments還有一個值得關注的屬性---callee屬性,該屬性引用的是當前背呼叫的函式物件,也就是說,我們鎖緊啊的函式的返回值是arguments.callee,那麼該函式被呼叫時就會返回自身的引用。

>>function f() {return arguments.callee;}

>>f()

 f()

此外,我們還可以通過arguments.callee屬性來實現匿名函式的遞迴呼叫,例如:

(function(count){
 if(count<5){
  alert(count);
  arguments.callee(++count); 
 }
})(1)

在這裡我們傳遞給內部的值是1,因此alert視窗會彈出四次,分別顯示1、2、3、4.

相關推薦

arguments物件用法

JavaScript動態傳參怎麼做? 定義一個函式,事先不知道多少個引數,也不確定有多少個引數,最終如何來返回這個引數? 舉個栗子,實現一個多數相加計算的功能,形象一些。 function add(){ var sum=0; if(arguments.length ==

arguments 物件

arguments 物件 arguments 是一個偽陣列物件. 它表示在函式呼叫的過程中傳入的所有引數的集合.在函式呼叫過程中沒有規定引數的個數與型別, 因此函式呼叫就具有靈活的特性, 那麼為了方便使用,在 每一個函式呼叫的過程中, 函式程式碼體內有一個預設的物件 arguments, 它儲存著

javaScripts之arguments物件

arguments是一個包含傳遞給函式的引數的類陣列物件。既然是類陣列物件,它就不是真正的陣列,所以除了length屬性和索引元素之外,不再有任何與陣列相同的屬性以及元素。 舉個例子: function fun1(a,b,c) { ...    // 此處為程式碼段 }

jquery的arguments物件使用

jquery的arguments物件使用 .函式引數Arguments物件     每建立一個函式,該函式就會隱式建立一個arguments物件,他包含有實際傳入引數的資訊。     1.length   檢測實際傳入引數的個數 &nbs

javascript--函式基礎(使用引數------使用Arguments物件,使用Function物件

Arguments物件表示引數集合,它是一個偽類陣列,擁有和陣列相似的結構,可以通過陣列下標的形式來訪問函式實參值 function f(){   for(var i=0;i<arguments.length;i++){   //等價for(var i=0

JS中arguments物件的常見用法(轉自https://www.cnblogs.com/LMJBlogs/p/6024148.html)

瞭解這個物件之前先來認識一下javascript的一些功能: 其實Javascript並沒有過載函式的功能,但是Arguments物件能夠模擬過載。Javascrip中每個函式都會有一個Arguments物件例項arguments,它引用著函式的實參,可以用陣列下標的方式"[]"引用arguments的元素

arguments物件偽陣列

定義一個函式,如果不確定使用者是否傳入了引數,或者說不知道使用者傳了幾個引數,沒辦法計算,這個時候就可以使用arguments物件 定義如下: arguments可以看成是陣列來使用 arguments物件的長度是由實參個數而不是形參個數決定的 實現計算

js-函式中的Arguments物件

詳情參考:https://github.com/mqyqingfeng/Blog/issues/14 如果: arguments和實參的關係,以及arguments的屬性 附上程式碼和註解 function foo(name, age, sex) {/**/ //當前初始foo('ds1','ds2'),

JS引用型別中的Function型別——函式屬性和方法【this,arguments物件;apply(),call方法】

一,瞭解函式 1,函式實際是物件,每個函式都是Function型別的例項,而且都與其他引用型別一樣具有屬性和方法,由於函式是物件,因此函式名實際上也是一個指向函式物件的指標,不會與某個函式繫結。 2,函式沒有過載,當聲明瞭兩個同名函式時結果會是後面的函式覆蓋前面的函式。

原生javascript中的arguments物件的重要應用

在arguments中,存在函式中、第1個引數的屬性名是’0’,第2個引數的屬性名是’1’,以此類推,並且它還有length屬性,儲存的是當前傳入函式引數的個數,很多時候我們把這種物件叫做類陣列物件(偽陣列) function test (a,b,c){ console.log(a,b,c)

簡述 arguments 物件的作用

在函式程式碼中,使用特殊物件 arguments 可以訪問函式的引數。即,開發者在定義函式時,無需明確的為方法宣告引數,也可以在方法體中使用 arguments 來訪問引數。這是因為, arguments 是一種特殊物件,在函式程式碼中,表示函式的引數陣列。

arguments物件詳解

在javascript中,函式是沒有過載這一項的,所謂的過載,一個函式可以有多個,就是引數的個數和形式不同所以引用的功能不同,而js不存在函式過載,不管傳不傳引數,函式裡面是否引用,關係都不大,一個函式對應一個功能,但是函式可以模擬函式過載,所以有一個Arguments物件。 定義 arguments

arguments物件

function f() {return arguments;} >>f(1,2,3)  [1,2,3]    儘管arguments看上去想一個數組,但它實際上是一個類似陣列的物件,它和陣列相似是因為其中也包含索引元素個length屬性,但相似之處也就到此為止

JS中arguments物件詳解

1、在JavaScript中,arguments物件是比較特別的一個物件,實際上是當前函式的一個內建屬性。arguments非常類似Array,但實際上又不是一個Array例項。可以通過如下程式碼得以證實(當然,實際上,在函式funcArg中,呼叫argum

騰訊面試題-----JavaScript中arguments物件解析

在騰訊面試中遇到了這樣問題: js程式碼 function test(x,y){ var x = 10; alert(arguments[0],arguments[1]); } test(); 獲取arguments資料 Array.p

函式的引數arguments物件

1、函式的引數arguments 物件-- arguments 表示函式的實際引數(與形參無關)// js中 函式的引數:形參、實參 function test(a,b,c,d){ // 函式名.length 等價於 arguments.callee.length,因為arg

JavaScript中函式的arguments物件(不確定函式引數)

 在JavaScript中使用函式的時候,如果出現不確定傳參的數量,可以使用arguments物件進行處理,其中arguments物件的length屬性可以得到傳遞進來的引數。     下面看一個例子

關於arguments物件的一些用法

arguments物件簡介 arguments 是一種類陣列物件,它只在函式的內部起作用,並且永遠指向當前函式的呼叫者傳入的所有引數,arguments類似Array,但它不是Array。 1.使用arguments來得到函式的實際引數。 argument

函式的引數和Arguments物件

  在javascript中,出現在函式定義文法中的引數列表是函式的形式引數,簡稱形參,一個函式可以有一個或者多個形參,函式物件定義時的形引數量可以通過length屬性獲得,例如function add(x,y){ return x+y;}window.cross=funct

一個例子看懂 arguments 物件

arguments 物件是所有(非箭頭)函式中都可用的區域性變數。可以使用arguments物件在函式中引用函式的引數。此物件包含傳遞給函式的每個引數,第一個引數在索引0處。 arguments物件不是一個 Array 。它類似於Array,但除了length屬性和索引元素