我試圖從嵌套函數訪問構造函數的字段。如何從嵌套函數訪問構造函數的方法/字段
這裏是我的代碼:
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