Проблемы с пониманием учебного примера функции extend (obj) - PullRequest
0 голосов
/ 26 мая 2020

В одном из учебников курса, который я посещаю, HTML5 Javascript и JQuery 24-часовой тренер Глава 14, стр. 128, есть раздел о настройке объекта в качестве прототипа для других объектов. Приводится следующий код:

function extend(obj) {
  function T() {};
  T.prototype = obj;
  return new T();
}

Я искал это в Google несколько дней, и я действительно зациклился на этом. В книге это не очень хорошо объясняется, и ни один из моих поисков в Google расширений или прототипов не привел меня к этому коду. Несколькими абзацами позже в книге говорится, что определенная функция T является функцией-конструктором. Многочисленные поиски в Google и Stack Overflow не пролили света ни на функцию T, ни на то, что она делает в Javascript.

Я знаю, это звучит глупо, но мне трудно это преодолеть. Я пробовал идти вперед, но не могу сконцентрироваться, потому что эта проблема все еще не дает мне покоя. Две главы спустя, и я все еще возвращаюсь к этому, снова ищу в Google и пытаюсь понять, что здесь происходит.

Другой вопрос, если у нас есть несколько объектов в коде, например, мы создали много для разных вещей, например, веб-сайт спортивных товаров, над которым мы работали на этой неделе, как эта функция расширения узнает, какой объект передать в качестве аргумента , или он использует первое определение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...