js函數內部屬性arguments和this

javascript函數內部有兩個重要的屬性分別是arguments,this兩個對象
內部屬性是指只能在函數內部才能訪問的屬性。

arguments:

該對象主要用於保存所傳入函數的參數,同時argumenst對象又有一個指向該函數的指針屬性callee。

this:

調用該函數的外部對象指針。

var fn=function(n1,n2){};
fn(1,2);//此時this指向的是外部環境,次處window對象.
var fn=function(n1,n2){
    console.log(arguments);
    console.log(this==window);
    console.log(arguments.callee===this.fn);
    return 1;
};
fn(1,2);
//輸出
//{ '0': 1, '1': 2 }
//true
//true

由此可以利用callee實現函數的遞歸調用

function fn(num){
      if(num<=1){
        return 1;
      }
      else
      {
       return num*argumenst.callee(num-1);
      }
}
發佈了42 篇原創文章 · 獲贊 26 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章