Благодаря гибкости JavaScript каждый может писать код в соответствии со своими привычками. Существуют методы функционального программирования, а также объектные литералы, которые сегодня широко используются. Начало также постепенно превратилось в классовое программирование. Теперь я кратко объясню несколько знакомых привычек программирования:
1. Литерал объекта:
Ниже приводится цитируемое содержание: вар человек = { |
Метод программирования с характеристиками JavaScript. Он содержит имя атрибута, методы setName и getName в модулях класса. С этого момента вызвать метод person.setname('R') относительно просто. атрибуты и методы человека не являются частными, их можно назвать.
2.Режим вызова конструктора прототипа
Ниже приводится цитируемое содержание: вар Человек = функция() { |
3. Используйте анонимные функции для функционального программирования.
Ниже приводится цитируемое содержание: (функция(){ |
Одним из самых больших преимуществ появления классов является то, что они уменьшают количество глобальных переменных. Но если вы все еще привыкли к функциональному программированию, это не имеет значения, пока вы создаете анонимную функцию и выполняете замыкание. выполнять в нем функциональное программирование. Не нужно беспокоиться о появлении глобальных переменных. Как видно выше, имя var нельзя вызывать вне анонимной функции. Затем используйте внешние переменные для вызова внутренних функций или переменных. создавать частные переменные и частные методы.
4. Классное программирование (не знаю, как это назвать)
Ниже приводится цитируемое содержание: вар человек = функция () { |
Он очень похож на объектные литералы, за исключением того, что это оставлено в стороне, а методы и свойства можно сделать частными. Вызов методов в основном такой же, как и объектных литералов.
5. Цепочка методов
Ниже приводится цитируемое содержание: вар Человек = функция() { |
jQuery — самая классическая библиотека цепочки методов. Если вы все еще не понимаете, что такое цепочка методов, взгляните на этот пример:
Ниже приводится цитируемое содержание: вар р = новый человек (); |
Это методы, с которыми я более знаком. У каждого есть свои особенности, поэтому методов бесконечное множество. Однако мне хотелось бы изучить следующие вопросы:
1. Об этом указателе
Это используется при создании нескольких категорий, но какова эта роль? На самом деле, это играет большую роль в повторном использовании и наследовании. Давайте сначала рассмотрим пример наследования:
Сначала создайте класс Person:
Ниже приводится цитируемое содержание: вар Человек = функция() { |
Затем создайте класс Children и интегрируйте все методы и свойства Person:
Ниже приводится цитируемое содержание: вар Дети = функция(возраст){ |
Это наследование, а затем мы рассмотрим простое повторное использование функции:
Ниже приводится цитируемое содержание: вар SetColor = функция(){ Увидев эту функцию, я должен иметь новое понимание этого. Теперь у меня есть вопрос: следует ли это использовать или нет. Давайте посмотрим на простой пример: вар setColor = { |
Всего в одном классе это указывает на два места, что иногда приводит в замешательство людей, которые только учатся, и немного меняют способ написания кода:
Ниже приводится цитируемое содержание: вар setColor = { |
Таким образом, код может быть более понятным. Поэтому при написании кода вам следует учитывать его будущее использование и возможность его повторного использования. Если ясно, что наследование или повторное использование не должны выполняться, я лично считаю, что вам следует это сделать. избегайте его использования, насколько это возможно. Есть еще одна, более распространенная проблема:
Ниже приводится цитируемое содержание: вар Человек = функция() { |
Как упоминалось ранее, если это не записано как var p = new Person();p.setName('tom'); в этом классе это будет указывать непосредственно на Person.prototypel. Эта ошибка не возникнет во время компиляции или выполнения. будет сообщено об ошибке. Иногда это вызывает головную боль, поэтому при написании кода я всегда тщательно выбираю это.
2. Инкапсуляция классов
В Java методы или свойства класса могут быть установлены как частные, чтобы избежать внешних вызовов, но в JavaScript такой настройки нет. Взгляните на следующий код:
Ниже приводится цитируемое содержание: вар человек = { |
В этом классе всего 2 метода, а именно init и setName, и мы хотим запускать только setName из init, или различные методы, которые будут добавлены в него в будущем, и не хотят появляться:
person.setName('том'); //том
Вызовите метод setName напрямую. Точнее, вы хотите, чтобы метод setName был закрытым, а атрибут name был закрытым. Это не позволит другим программистам вызывать методы, которые вы не хотите вызывать при использовании вашего класса.
Так как же нам следует хорошо инкапсулировать классы? Попробуйте другой метод программирования и посмотрите, как будет работать исправленная версия:
Ниже приводится цитируемое содержание: вар человек = функция () { |
Таким образом, методы и свойства, которые изначально предназначались для приватизации, могут быть приватизированы и не могут быть вызваны напрямую извне. Это также достигается с помощью замыканий. Однако этот метод программирования непрост для чтения, особенно для новичков. Увидеть такой код будет очень сложно, а также он будет занимать больше памяти, чем обычный.
Хорошо, на этом пока всё. Я расскажу о замыканиях и области видимости в следующий раз, когда у меня будет время.