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);
}
}