假设我有一个非常简单的PrototypeJS类,如下所示:
var Foo = Class.create({
initialize: function() {
this.bar = 'bar';
},
dostuff: function() {
$$('.enabled').each( function(elem) {
alert(this.bar); //FAIL
});
}
});这会失败,因为传递给.each()的函数不知道这是指什么。
如何从函数内部访问类的bar属性?
发布于 2009-07-07 20:55:32
尝试:
dostuff: function() {
var that = this;
$$('.enabled').each( function(elem) {
alert(that.bar); //FTW
});
}或者,将上下文传递给each()
dostuff: function() {
$$('.enabled').each( function(elem) {
alert(this.bar); //FTW
}, this); // Context
}https://stackoverflow.com/questions/1094782
复制相似问题