Поиск по сайту:
Время — великолепный учитель, но, к сожалению, оно убивает своих учеников (Г. Берлиоз).

JavaScript – Обзор объектов

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
08.11.2017
JavaScript - Обзор объектов

JavaScript является объектно-ориентированным языком программирования (ООП). Язык программирования можно назвать объектно-ориентированным, если он обеспечивает четыре основные возможности для разработчиков:

  • Инкапсуляция – способность хранить соответствующую информацию, будь то данные или методы, вместе в объекте.
  • Агрегация – способность хранить один объект внутри другого объекта.
  • Наследование – способность класса полагаться на другой класс (или число классов) для некоторых из его свойств и методов.
  • Полиморфизм – способность написать одну функцию или метод, которая работает в различных направлениях.

Объекты состоят из атрибутов. Если атрибут содержит функцию, она считается методом объекта, в противном случае атрибут считается собственностью.

Свойства объекта

Свойства объекта могут быть любыми из трех примитивных типов данных, или любой из абстрактных типов данных, как любой другой объект. Свойства объекта, как правило, переменные, которые используют методы внутри объекта, но также могут быть глобально видимыми переменными, которые используются по всей странице.

Синтаксис для добавления свойства к объекту:

objectName.objectProperty = propertyValue;

 

Например, Следующий код получает название документа с помощью свойства “title” объекта document.

var str = document.title;

 

Методы объектов

Методы являются функциями, которые позволяют объекту делать что – то или дать что – то сделать для него. Существует небольшая разница между функцией и методом – функция представляет собой автономный блок операторов и способ прикрепляется к объекту и может ссылаться на него через ключевое слово this.

Способы могут быть использованы для отображения  всего содержимого объекта на экран, для выполнения сложных математических операций на группу локальных свойств и параметров.

Например – Ниже приводится простой пример, который покажет, как использовать метод write() объекта document, которая добавит возможность писать содержимое в документе.

document.write("Это тест");

 

Объекты определенные пользователем

Все определяемые пользователем объекты и встроенные объекты являются потомками объекта под названием Object.

Оператор new

Оператор new  используется для создания экземпляра объекта. Чтобы создать объект, указывается оператор new после метода конструктора.

В следующем примере методами являются конструктор Object(), Array(), и Date(), Эти конструкторы встроенных функций JavaScript.

var employee = new Object();
var books = new Array("C++", "Perl", "Java");
var day = new Date("Ноябрь 08, 2017");

 

Конструктор Object()

Конструктор является функцией, которая создает и инициализирует объект. JavaScript предоставляет специальную функцию конструктора под названием Object() для создания объекта. Возвращаемое значение конструктора Object() присваивается переменной.

Переменная содержит ссылку на новый объект. Свойства, присвоенные объекту не являются переменными и не определены с ключевым словом var.

Пример 1

Попробуйте следующий пример; он показывает, как создать объект.

<html>
   <head>
      <title>Объекты определяемые пользователем</title>
      
      <script type="text/javascript">
         var book = new Object();   // Создать объект
         book.subject = "Perl"; // Присвоить свойства объекту
         book.author  = "Mohtashim";
      </script>
      
   </head>
   
   <body>
   
      <script type="text/javascript">
         document.write("Название книги : " + book.subject + "<br>");
         document.write("Автор книги : " + book.author + "<br>");
      </script>
   
   </body>
</html>

 

Вывод

Название книги : Perl 
Автор книги : Mohtashim

Пример 2

В этом примере показано, как создать объект с определенной пользователем функции. Ключевое слово this используется для обозначения объекта, который был принят в функцию.

<html>
   <head>
   
   <title>Объекты определяемые пользователем</title>
   
      <script type="text/javascript">
         function book(title, author){
            this.title = title; 
            this.author  = author;
         }
      </script>
      
   </head>
   <body>
   
      <script type="text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         document.write("Название книги : " + myBook.title + "<br>");
         document.write("Автор книги : " + myBook.author + "<br>");
      </script>
      
   </body>
</html>

 

Вывод

Название книги : Perl 
Автор книги : Mohtashim

Определение методов для объекта

В предыдущих примерах показано, как конструктор создает объект и присваивает свойства. Но мы должны завершить определение объекта путем присвоения методов к нему.

Пример

Попробуйте следующий пример. Он показывает, как добавить функцию к объекту.

<html>
   <head>
   <title>Объекты определяемые пользователем</title>
   
      <script type="text/javascript">
         // Определите функцию, которая будет работать как метод
         function addPrice(amount){
            this.price = amount; 
         }
         
         function book(title, author){
            this.title = title;
            this.author  = author;
            this.addPrice = addPrice; // Назначьте этот метод свойством.
         }
      </script>
      
   </head>
   <body>
   
      <script type="text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         myBook.addPrice(2000);
         
         document.write("Название книги : " + myBook.title + "<br>");
         document.write("Автор книги : " + myBook.author + "<br>");
         document.write("Прайс-лист : " + myBook.price + "<br>");
      </script>
      
   </body>
</html>

 

Вывод

Название книги : Perl 
Автор книги : Mohtashim 
Прайс-лист : 2000

Ключевое слово ‘with’

Ключевое слово ‘with’ используется как своего рода стенография для ссылок свойств или методов объекта.

Объект, заданный в качестве аргумента ‘with’ становится объектом по умолчанию для следующего блока. Свойства и методы объекта могут быть использованы без указания объекта.

Синтаксис

Синтаксис с объектом выглядит следующим образом:

with (object){
   свойства, используемые без имени объекта и точки
}

 

Пример

Попробуйте следующий пример.

<html>
   <head>
   <title>Объекты определяемые пользователем</title>
   
      <script type="text/javascript">
         // Определите функцию, которая будет работать как метод
         function addPrice(amount){
            with(this){
               price = amount;
            }
         }
         
         function book(title, author){
            this.title = title;
            this.author  = author;
            this.price = 0;
            this.addPrice = addPrice; // Назначьте этот метод свойством.
         }
      </script>
      
   </head>
   <body>
   
      <script type="text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         myBook.addPrice(2000);
         
         document.write("Название книги : " + myBook.title + "<br>");
         document.write("Автор книги : " + myBook.author + "<br>");
         document.write("Прайс-лист : " + myBook.price + "<br>");
      </script>
      
   </body>
</html>

 

Вывод

Название книги : Perl 
Автор книги : Mohtashim 
Прайс-лист : 2000

Собственные объекты JavaScript

JavaScript имеет несколько встроенных или родные объекты. Эти объекты доступны в любом месте в вашей программе и будут работать так же, как в любом браузере, который работает в любой операционной системе.

Здесь представлен список всех важных собственных объектов в JavaScript:

  •  Объект Number в JavaScript
  • Объект Boolean в JavaScript
  • Объект String в JavaScript
  • Объект Array в JavaScript
  • Объект Date в JavaScript
  • Объект Math в JavaScript
  • Объект RegExp в JavaScript

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Это может быть вам интересно

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Спасибо!

Теперь редакторы в курсе.