Цитата:
Сообщение от BlooDHounD
riden, повторю за остальным, возможно слегка понятнее:
this - пространство относительно которого вызывается функция (никаким образом не связано с "объектом активации функции").
arguments.caller - функция, которая вызвала текущую (вот пространство данной функции и будет "объектом активации функции").
arguments.callee - текущая функция (обычно используется для того, что бы хоть как-то поймать анонимную функцию).
|
this - указатель на
объект активации функции. callee, caller - ссылаются на
функции.

Код:
function Class1(a){
this.a=a;
trace (this); //[object Object] //указатель на obj - экземпляр класса Class1
function localFunc(){
this.b=2;
trace(this); //[type Object] - объект активации функции
trace(arguments.caller); //[type Function] //- разница налицо
trace(this.arguments);//аргумент функции внешней
//это подтверждает что объект активации - внешняя функция (Class1)
trace(arguments.caller.arguments); //undefined //!
trace(this.a); //undefined
trace(this.b); //2
}
localFunc();
//this.met = localFunc;
}
//Class1();
var obj = new Class1("аргумент функции внешней");

Код:
function func(){
trace(this);
trace(arguments.caller); //null //- :)
}
func();//_level0 //- объект активации
obj = new func();//[object Object] //- объект активации
Можете экземпляр класса (функции) obj называть "пространством вызова функции", но это объект, _level0 - тоже объект, и функция ([type Object]) - тоже объект.