Например:
var myObj={
myValue="hola",
asMember=function(){ alert( this.myValue ); }
};
myObj.asMember(); // will work fine
var asGlobal=myObj.asMember; // global alias for that member function
asGlobal(); // won't work in javascript (will work in AS3, but i need js now)
Итак, вопрос в том, могу ли я переписать asMember
, чтобы он мог вызываться глобальным псевдонимом и вообще без упоминания myObj
? Понятно, что если я определю это:
asMember=function(){ alert( myObj.myValue ); }
это будет работать, но в моем случае упоминание myObj
недопустимо даже внутри самой функции (поскольку myObj
может быть переназначено позже, но asGlobal
не изменится и должно продолжать работать)