прилагаю services
свойство this
:Как я могу ссылаться на свойство `this` внутри метода` this`?
function Client(){
this.services = {
'propertyName' : {}
};
, а затем добавить метод this
, в котором мне нужно ссылаться на services
свойство экземпляра client
:
function Client(){
this.services = {
'propertyName' : {}
};
this.someMethod = function() {
if (this.services['propertyName']) {
//do something
}
}
}
var clientName = new Client();
Но this.services - line 6
является не определено. Как использовать свойство, присвоенное this
, в методе, присвоенном this
? Похоже, что должен быть, потому что к моменту, когда этот метод вызывается конструктором, для объекта будет существовать свойство services
. Это ограничение языка? Является ли это возможным? Должно быть?
@ T.J.Crowder Что значит? Это функция, которая использует 'this', вызывается с' new' - прототипом для создания экземпляров 'Client' - как это не прототип? –
Это не прототип, потому что это не прототип. Это просто объект с собственностью. Поскольку это свойство * prototype *, оно должно быть на другом объекте, который был прототипом объекта, который вы пытаетесь использовать. Например, если вы переместили 'someMethod' * out * конструктора и выполнили' Client.prototype.someMethod = function() {/ * ... * /}; ', *, что * будет свойством прототипа (' someMethod '), пытающихся получить доступ к свойству не-прототипа (' services'). (Есть также несколько других способов.) –
@ T.J.Crowder Ах, я * думаю об этом * как прототип для другого объекта, но он на самом деле называется * конструктором * правильно? –