2013-05-17 3 views
0

Я расширяю объект, используя прототип. Использование этих внутренних вложенных функций не относится к объекту, который наследуется, но к самой функции.Javascript: доступ к этому внутреннему прототипу

плагин я пытаюсь расширить имеет реализацию прототипа уже поэтому существует необходимость определить новый объект «голодный»:

var oSausage=function() { 
    this.preference='hotdog'; 
} 

oSausage.prototype.hungry={ 
    getPreference:function() { 
     console.log(this.preference) 
    }, 
    another:function() { 

    }, 
    ..... 
} 

Есть ли способ, чтобы обратиться к объекту, который продлевается, т.е. oSausage?

ответ

1

Основная проблема заключается в том, что объект hungry не зависит от oSausage. Другие объекты могут также ссылаться на него. Все oSausage имеет ссылку на него, поэтому ваш объект hugry не имеет «осведомленности» о его владельце.

Вы всегда можете ссылаться на него.

Вы можете сделать oSausage.hotdog непосредственно, или сделать что-то вроде:

oSausage.prototype.hungry={ 
    sausage:oSausage, 
    getPreference:function() { 
     console.log(this.sausage.hotdog) 
    }, 
    another:function() { 

    }, 
    ..... 
} 
+0

this.sausage внутри getPreference() относится к функции oSausage, но не сам объект. Я хотел бы получить доступ к свойствам объекта - вы видите шанс сделать это? – campari

+0

@campari Позвольте мне понять, понимаю ли вы, что вы имеете в виду, все объекты oSausage имеют один голодный объект, который имеет функции, которые при вызове должны обращаться к свойствам конкретного вызывающего объекта oSausage? –

+0

не уверен, если я поймаю вашу точку - мой английский ужасен – campari

Смежные вопросы