【发布时间】:2010-04-18 15:57:00
【问题描述】:
例如:
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 不会改变并且应该继续工作)
【问题讨论】:
标签: javascript class object methods closures