JavaScript学习——函数内部属性

arguments.callee  消除耦合现象
 
例子
function factorial(num){
if(num<=1){
return 1;}
else{
return num*arguments.callee(num-1) //arguments保存函数参数,callee是个指针,指向拥有这个arguments对象的函数
}
}
在这个重写够的factorial()函数的函数体内,没有再引用函数名factorial。这样无论函数使用时使用的是什么名字,都可以保证正常完成递归调用。
 
函数内部另一个特殊对象是this.
this引用的是函数据以执行的环境对象——或者可以说是this值(当在网页的全局作用域中调用函数,this对象引用的就是window)。
window.color="red";
var o ={color:"blue"};
function sayColor(){
alert(this.color);
}
sayColor(); //"red"
o.sayColor=sayColor;
o.sayColor();//"blue"
原文地址:https://www.cnblogs.com/pilee/p/3445614.html