如何从其中的另一个对象访问原型对象

时间:2015-07-07 13:03:13

标签: javascript

我对原型的了解还处于起步阶段,所以请耐心等待。我有一个主要对象,通过var book = new book();

初始化

我启动了一些原型功能:

book = function(){
    this.init();
}

book.prototype.init = function() {
    //etc.
}

我还初始化了一个对象:

book.prototype.bookmarks = {
    init : function(){
        //How can I access book from this function?
    }
}

我的意思是我可以使用book.someFunction(),但我只是好奇是否有正确访问顶级对象的方法。对不起,如果这是一个愚蠢的问题,我会尝试澄清任何不清楚的事情。感谢

2 个答案:

答案 0 :(得分:3)

不,不是自动的。也就是说,你必须告诉子对象顶级对象是什么,所以在init的{​​{1}}函数中,你会得到这样的结果:

book

答案 1 :(得分:0)

我可能会在这里做一些假设,但这可能与您在访问实例化图书方面所寻求的一致。

function Book(title) {
    this.title = title;
    this.init();
}

Book.prototype = {
    title: null,
    page:  null,
    init: function() {
        // Initialize book
    },
    bookmark: function(page) {
        if (page) {
            this.page = page;
        } else {
            return this.page || 'No Bookmark';
        }
    }
}

var myBook = new Book('The Catcher in the Rye');
myBook.bookmark('pg 36');
myBook.bookmark(); // => pg 36