Составление функций в прототипе

Это концептуальный вопрос, который я не смог решить.

Весь вопрос можно свести к этой строке:

OurConstructor.prototype = {
   a: function(){},
   b: function(){ a(); }
};

Можем ли мы вызвать a() внутри b(), если оба находятся в прототипе?


Редактировать: просто для других людей, я звонил this.a() с неправильным именем, но использование b: function(){ this.a(); } должно работать нормально.


person Community    schedule 22.08.2020    source источник
comment
Я не думаю, что вы должны прикреплять это к прототипу.   -  person Eugen Sunic    schedule 23.08.2020
comment
Вы имеете в виду из-за конструктора? Ну, но это уже другая тема. Я просто попытался сделать вещи краткими.   -  person    schedule 23.08.2020
comment
@TiiJ7 TiiJ7 Я считаю, что ответ неверен, я уже пробовал это   -  person    schedule 23.08.2020
comment
``` var OurConstructor = function(){ } OurConstructor.prototype.a = function() { console.log('func a') } OurConstructor.prototype.b = function() { this.a(); console.log('func b') } const ourConst = new OurConstructor(); нашаКонст.б() ```   -  person Eugen Sunic    schedule 23.08.2020
comment
Чтобы ответить на ваш вопрос: в этом текущем случае. Это приведет к ошибке. Поскольку a() не входит в область действия b. Для того чтобы запустить а. Вам нужно будет вызвать его с ключевым словом this.   -  person Muhammad Kamran    schedule 23.08.2020
comment
@misternobody это не ложь, проверьте мой комментарий выше, ваш вопрос дублируется   -  person Eugen Sunic    schedule 23.08.2020
comment
@MuhammadKamran Да, я должен был включить это, проблема в том, что я уже пробовал, поэтому я очень удивлен. Я буду тестировать снова.   -  person    schedule 23.08.2020
comment
@EugenSunic, приятель, помедленнее, я уже пробовал, и это просто. По какой-то причине это не сработало, поэтому я проверяю, где разница.   -  person    schedule 23.08.2020
comment
Я пробовал следующее, и это работает: OurConstructor.prototype = {a: function(){ console.log('asdf') }, b:function(){ this.a()} } OurConstructor.prototype.b();   -  person Muhammad Kamran    schedule 23.08.2020
comment
@MuhammadKamran Я получаю доступ к другим значениям из прототипа этих функций. Я знаю, что это работает в этом примере, я пытался сделать его простым, и поэтому есть неправильное понимание.   -  person    schedule 23.08.2020
comment
Не уверен, почему кто-то голосует за повторное открытие этого... это полный дубликат, на который полностью дан ответ в другом вопросе.   -  person charlietfl    schedule 23.08.2020