js学习笔记 Function类型属性的理解

函数内部的属性

  在函数内部,有两个特殊的对象:arguments和this。其中arguments是一个类数组对象,包含着传入函数中的所有参数。虽然arguments的主要用途是保存函数参数,但这个对象还有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。

  函数内部的另外一个特殊对象是this,其行为与java和C#的this大致相似。换句话说,this引用的是函数据以执行的环境对象

 1 window.color = "red";
 2 var o = { color: "blue" };
 3 
 4 function sayColor() {
 5     alert(this.color);
 6 }
 7 
 8 sayColor();     //"red"
 9 
10 o.sayColor = sayColor;
11 o.sayColor();   //"blue"

这个例子很简单,在复杂的情况下参考这个小例子就很明了了。

js5还规范了函数对象的另一个对象的属性:caller。caller属性中保存这调用当前函数的函数的引用,如果是在全局作用域中调用当前函数,他的值为null。

 

posted @ 2014-02-26 13:53  chopic  阅读(227)  评论(0编辑  收藏  举报