AlexLearne Ответов: 1

Как получить свойства отображения объекта конструктора


Задача кажется действительно легкой, но я думаю, что упускаю здесь какой-то очень важный момент.
У меня есть объект конструктор, который выглядит следующим образом:
function Person (name) {
  this.name = name;
  call = function (cellphone, callee){
   
  }
  return call;
  
}

Затем мы инициализируем этот объект
var dan = new Person("Dan");
var mark = new Person("Mark");
var phone = {owner: dan, number: "778-22-345"}
console.log(dan.call(phone, mark))

Я хотел бы получить результат, который выглядит следующим образом
"Dan called Mark from Dan`s phone 778-22-345"

Как я могу получить доступ к этим свойствам?

Что я уже пробовал:

Я попытался построить свой метод вызова следующим образом
звонок = функция (мобильный телефон, вызываемый) {
возвращаемое имя + "вызвано" + callee.name + " от " + мобильный телефон.владелец + "телефон" + номер мобильного телефона

}

1 Ответов

Рейтинг:
4

Kornfeld Eliyahu Peter

Во-первых, ваше письмо немного опасно в JavaScript! Не позволяйте JS решать, куда поместить недостающие окончания строк (;) - это, вероятно, будет неправильно для вас...
Также используйте это всякий раз, когда оно принадлежит вам, и не опускайте его!

Вы определили Person совершенно неправильно! Когда вы его создаете, вы фактически назначаете call метод к новому объекту из-за return call в конце концов!!!

Так var dan = new Person('Dan'); наборы dan быть вызовом метода, а не классом Person!!!

function Person (name) {
  this.name = name;
  
  this.call = function (cellphone, callee) {
    // your code here...
  };
};

Введение в объектно-ориентированный JavaScript-JavaScript | MDN[^]


AlexLearne

Спасибо!

Kornfeld Eliyahu Peter

JavaScript-это плохо определенный / разработанный язык, вы не можете позволить себе лениться по этому поводу!

AlexLearne

Как вы этому научились?

Kornfeld Eliyahu Peter

Кровавый пот и слезы-20 лет... :-)

AlexLearne

ха-ха, ладно, мне тоже было нелегко, но я люблю сложные задачи. В последнее время я в основном учусь, тренируясь, но мне нравится смешивать видео, книги и упражнения.