相关疑难解决方法(0)

轻松设置"this"变量?

我对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
Run Code Online (Sandbox Code Playgroud)

没有最后4行,有没有办法做到这一点?这很烦人......我试过绑定一个匿名函数,我觉得这个函数漂亮而聪明,但无济于事:

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.
Run Code Online (Sandbox Code Playgroud)

显然,将变量传递给myFunction是一个选项......但这不是这个问题的重点.

谢谢.

javascript variables scope this

138
推荐指数
3
解决办法
6万
查看次数

标签 统计

javascript ×1

scope ×1

this ×1

variables ×1