我对 Javascript 有很好的理解,除了我不能找到一个很好的方法来设置“ this”变量。考虑一下:
var myFunction = function(){
alert(this.foo_variable);
}
var someObj = document.body; //using body as example object
someObj.foo_variable = "hi"; //set foo_variable so it alerts
var old_fn = someObj.fn; //store old value
someObj.fn = myFunction; //bind to someObj so "this" keyword works
someObj.fn();
someObj.fn = old_fn; //restore old value
有没有办法不用最后四句台词?这很烦人... ... 我试过绑定一个匿名函数,我认为它很漂亮,也很聪明,但是没有用:
var myFunction = function(){
alert(this.foo_variable);
}
var someObj = document.body; //using body as example object
someObj.foo_variable = "hi"; //set foo_variable so it alerts
someObj.(function(){ fn(); })(); //fail.
显然,将变量传递到 myFunction 是一个选项... ... 但这不是问题的关键。
谢谢。