我有2个原型,为了这个问题,它们是:
function Pizza() {
var aSlice = new PizzaSlice();
this.extras = [];
this.addPaproni = function() {
this.extras.push("paproni");
}
}
和
function PizzaSlice() { }
我可以从PizzaSlice中调用Pizza中的函数,以便它自己发出addPaproni函数吗?
意思是,如果我有几个Pizza对象,那么只有发出呼叫的PizzaSlice的父母才能拥有" paproni"在它的" this.extras"?
答案 0 :(得分:1)
您可以将函数显式绑定到某个scope。这可能就是你要找的东西。
然而,你的功能布局,似乎这并不是你真正想要的。你究竟想用PizzaSlice功能做什么?
您似乎可能想要使用对象而不是函数,然后使用函数对对象进行操作。
答案 1 :(得分:1)
嗯,代码无法推断'parent'本身是什么,但你可以告诉它。我不确定我是否理解您希望对象如何协作,但这是一个例子。
function Pizza() {
}
Pizza.prototype = {
Pizza: constructor,
newSlice: function () { return new PizzaSlice(this); },
addPepperoni: function () { console.log('add pep..'); }
};
function PizzaSlice(pizza) {
this.pizza = pizza;
//you can call pizza.whateverYouWant();
}
var pizza = new Pizza(),
pizzSlice = pizza.newSlice();