首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >轻松设置"this“变量?

轻松设置"this“变量?
EN

Stack Overflow用户
提问于 2009-01-19 09:09:08
回答 3查看 64.8K关注 0票数 142

我对Javascript有很好的理解,除了我想不出一个很好的方法来设置"this“变量。考虑一下:

代码语言:javascript
复制
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

有没有办法在没有最后4行的情况下做到这一点?这很烦人..。我试着绑定一个匿名函数,我认为这很漂亮,很聪明,但没有用:

代码语言:javascript
复制
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是一种选择……但这不是这个问题的重点。

谢谢。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/456967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档