我试图从嵌套函数访问构造函数的字段。如何从嵌套函数访问构造函数的方法/字段
这里是我的代码:
var Box = function() {
this.div = $("div#mydiv");
this.guide = {
div: $("div#mydiv2"),
scroll: function() {
$(document).scrollTo(this.div); //Want to scroll to mydiv2
alert(Box.div.attr("id")); //Want to alert mydiv id
//How do I access the div field of the Box constructor?
}
}
}
如果我叫滚动方式是这样的:
var a = new Box();
$("#button").click(function() {
a.guide.scroll();
});
Box.div
正在恢复为未定义。
如果我尝试alert
股利财产id
的scroll
方法this.div
它将使用guide
对象内部的div属性里面。我试过使用Box.div
来引用guide
对象之外的div字段,但这不起作用。请帮我弄清楚这一点。在警报然后
var Box = function() {
var self = this;
,用self
代替this
作为this
是不是指的顶级功能(箱):
@ Topener - 所以没有'self'总是与顶级的功能? – dopatraman 2012-04-02 22:01:14
@codeninja是的,因为你在那里定义了'self',它确实指的是'this'' – 2012-04-02 22:04:49
@ Topener - 谢谢。在你学习哈哈之后,答案似乎很明显! – dopatraman 2012-04-02 22:12:00