Press "Enter" to skip to content

Factory Functions in JavaScript


hello function years today we are
говорить о фабриках заводов
просто функции, которые создают объекты и
верните их в большинстве случаев, вы можете использовать
заводы вместо классов и
заводы намного проще и дешевле
свернутые, чем классы, это
еженедельно показывают, где мы пытаемся стать более
уверенный и возбужденный о программировании
изучая интригующие вещи, которые мы
не знал раньше
предпосылка для того, чтобы понять
это видео, которое вам нужно знать
если вы не совсем уверены
какие закрытия вы должны смотреть
предыдущий эпизод на эту тему
прежде чем я покажу вам заводскую функцию I
хочу показать вам класс, это собака
класс, он выполняет некоторую настройку в
конструктор присваивает себе свойство
называемый звуком, класс также имеет метод
разговор, который использует этот звук
мы тогда создаем экземпляр на всех говорят продукты
который мы тогда называем разговором и нюхаем
быстро сообщает нам, что это прекрасно, но
есть пара раздражающих вещей
с классами, если мы назначим верхний метод
к чему-то вроде обработчика кликов здесь
вещи сломаются, потому что теперь это
ключевое слово внутри верхнего метода здесь будет
не будьте sniffles, это будет ссылка
к чему-то еще в этом случае я думаю
это будет элемент Dom или
что-то, что не важно
точно, но что важно
что он не будет ссылаться на sniffles
как вы бы интуитивно ожидали
обходите это, вы можете использовать bind
заставить это быть фыркой, это очень
общая вещь , чтобы сделать , но это больно мой
нежная и красивая душа, чтобы посмотреть на
этот код выглядит как холодное голубое дерьмо
другой способ справиться с этой проблемой
состоит в том, чтобы обернуть верхний вызов в функцию
как это выглядит лучше
но меня это раздражает, что я должен помнить
делать это вообще для меня, это похоже на
глупая ловушка в дерьмовой компьютерной игре в
факт, я думаю, что концепция этого
и новый в JavaScript чувствует себя так, как в
Генеральная
новые, и это своего рода
Неинтуитивный странный клоун-радужная ловушка
что вы просто путешествуете все время и
Мне так стыдно за это каждый раз, когда я
познакомить людей с JavaScript, но там
есть надежда, потому что в JavaScript вы не
должны делать классы в Java или C sharp
и некоторые другие языки, которые вы должны использовать
классы, способ создания экземпляров
объектов, но в JavaScript у вас есть немного
больше свободы, поэтому, возможно, мы сможем попробовать
другим способом вводить заводские функции здесь
наша собака переписана как фабрика
теперь собака является просто функцией в
мы создаем переменную сумму, и мы
присвойте ему значение woof, мы тогда
возвращает простой литерал объекта с помощью одного
свойство Tork — функция, которая выходит из системы
значение суммы и из-за
Уязвимость закрытий top имеет доступ
к переменному звуку — бонусная функция
вот что код за пределами Dom
не имеет доступа к звуку
переменная, поэтому звуковая переменная
фактически надлежащим образом частным собаке
которого нет в классе, который я заметил
здесь мы не используем , что это
ключевое слово, и из-за этого
ссылка на звуковую переменную будет
всегда быть верным, даже если мы используем класс
в том, что сломалось в классе
пример , как это , я думаю , что для
почти во всех случаях вам будет лучше
использование заводов, отличных от классов
потому что ваш код будет проще и
проще рассуждать о том, что есть один случай
где я думаю, что это не нравится использовать
классы, и это если вы окажетесь
в ситуации, когда вам нужно создать
много объектов
причины классов немного лучше
но заметьте здесь, когда я говорю
Я имею в виду много экземпляров объекта
на моем компьютере с использованием фабрики
нулевая точка нуль нулевая нулевая точка
точка в четыре миллисекунды с использованием класса
в два раза быстрее на самом деле 0.0.0.0 hmm point
два миллисекунды, если вы выполните математику
означает, что если вы создаете, скажем, 10 000
экземпляры, использующие классы над фабриками
заработает вам направили в
миллисекунды, поэтому, если вы создаете просто
пару сотен или даже пару
тысяча элементов за кадр производительность
разница между фабрикой и классом
для вас не будет иметь значения , если вы
создавая более 10 000 экземпляров за
тогда классы могут быть для вас, но
вы действительно должны спросить себя , если
проблема заключается не в том, что вы создаете
10 000 предметов на кадр в первом
место
в общих фабриках или просто функциях
которые создают и возвращают объекты, которые мы смотрели
на простом примере того, как вы можете использовать
вместо класса, и как
фабрика менее запутана, чем класс
мы также говорили о том, как классы
бит быстрее, но это так мало
что это имеет значение только в том случае, если вы создаете
на десять тысяч единиц на фрейм или более
у вас есть мысли или вопросы , может быть ,
вы даже не согласны с хорошей публикацией youtube
комментарий ниже, и я или парень
зрители Я отвечу на ваш запрос
снова в этом шоу мы стараемся , чтобы стать более
возбужденный и уверенность в программировании
Я изучаю интригующие вещи, которые мы
не знал до новых эпизодов каждый
В понедельник утром, убедитесь, что вы
не пропустите следующий эпизод, подпишитесь на
канал здесь на YouTube или следовать за мной
на Twitter на mvj неделю до следующего понедельника
оставаться любопытным
вы
Please follow and like us:

Be First to Comment

Добавить комментарий