JavaScript - Обзор объектов
JavaScript - это язык объектно-ориентированного программирования (ООП). Язык программирования можно назвать объектно-ориентированным, если он предоставляет разработчикам четыре основные возможности:
Encapsulation - возможность хранить связанную информацию, будь то данные или методы, вместе в объекте.
Aggregation - возможность хранить один объект внутри другого объекта.
Inheritance - способность класса полагаться на другой класс (или количество классов) в отношении некоторых своих свойств и методов.
Polymorphism - возможность написать одну функцию или метод, которые работают по-разному.
Объекты состоят из атрибутов. Если атрибут содержит функцию, он считается методом объекта, в противном случае атрибут считается свойством.
Свойства объекта
Свойства объекта могут быть любым из трех примитивных типов данных или любым из абстрактных типов данных, например, другим объектом. Свойства объекта обычно представляют собой переменные, которые используются внутри методов объекта, но также могут быть глобально видимыми переменными, которые используются на всей странице.
Синтаксис для добавления свойства к объекту -
objectName.objectProperty = propertyValue;
For example - Следующий код получает заголовок документа с помощью "title" собственность document объект.
var str = document.title;
Методы объекта
Методы - это функции, которые позволяют объекту что-то делать или позволяют что-то делать с ним. Между функцией и методом есть небольшая разница - у функции есть автономная единица операторов, а метод прикреплен к объекту и на него может ссылатьсяthis ключевое слово.
Методы полезны для всего, от отображения содержимого объекта на экране до выполнения сложных математических операций над группой локальных свойств и параметров.
For example - Ниже приводится простой пример, показывающий, как использовать write() метод объекта документа для записи любого содержимого в документ.
document.write("This is test");
Объекты, определяемые пользователем
Все пользовательские объекты и встроенные объекты являются потомками объекта, называемого Object.
Новый оператор
В newОператор используется для создания экземпляра объекта. Чтобы создать объект,new за оператором следует метод конструктора.
В следующем примере методами конструктора являются Object (), Array () и Date (). Эти конструкторы являются встроенными функциями JavaScript.
var employee = new Object();
var books = new Array("C++", "Perl", "Java");
var day = new Date("August 15, 1947");
Конструктор Object ()
Конструктор - это функция, которая создает и инициализирует объект. JavaScript предоставляет специальную функцию-конструктор, называемуюObject()построить объект. Возвращаемое значениеObject() конструктор присваивается переменной.
Переменная содержит ссылку на новый объект. Свойства, присвоенные объекту, не являются переменными и не определяются с помощьюvar ключевое слово.
Пример 1
Попробуйте следующий пример; он демонстрирует, как создать объект.
<html>
<head>
<title>User-defined objects</title>
<script type = "text/javascript">
var book = new Object(); // Create the object
book.subject = "Perl"; // Assign properties to the object
book.author = "Mohtashim";
</script>
</head>
<body>
<script type = "text/javascript">
document.write("Book name is : " + book.subject + "<br>");
document.write("Book author is : " + book.author + "<br>");
</script>
</body>
</html>
Вывод
Book name is : Perl
Book author is : Mohtashim
Пример 2
В этом примере показано, как создать объект с помощью функции, определяемой пользователем. Вотthis ключевое слово используется для ссылки на объект, который был передан функции.
<html>
<head>
<title>User-defined objects</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("Book title is : " + myBook.title + "<br>");
document.write("Book author is : " + myBook.author + "<br>");
</script>
</body>
</html>
Вывод
Book title is : Perl
Book author is : Mohtashim
Определение методов для объекта
Предыдущие примеры демонстрируют, как конструктор создает объект и присваивает свойства. Но нам нужно завершить определение объекта, назначив ему методы.
пример
Попробуйте следующий пример; он показывает, как добавить функцию вместе с объектом.
<html>
<head>
<title>User-defined objects</title>
<script type = "text/javascript">
// Define a function which will work as a method
function addPrice(amount) {
this.price = amount;
}
function book(title, author) {
this.title = title;
this.author = author;
this.addPrice = addPrice; // Assign that method as property.
}
</script>
</head>
<body>
<script type = "text/javascript">
var myBook = new book("Perl", "Mohtashim");
myBook.addPrice(100);
document.write("Book title is : " + myBook.title + "<br>");
document.write("Book author is : " + myBook.author + "<br>");
document.write("Book price is : " + myBook.price + "<br>");
</script>
</body>
</html>
Вывод
Book title is : Perl
Book author is : Mohtashim
Book price is : 100
Ключевое слово "с"
В ‘with’ ключевое слово используется как своего рода сокращенное обозначение для ссылки на свойства или методы объекта.
Объект, указанный в качестве аргумента для withстановится объектом по умолчанию на время следующего блока. Свойства и методы для объекта можно использовать без имени объекта.
Синтаксис
Синтаксис с объектом следующий:
with (object) {
properties used without the object name and dot
}
пример
Попробуйте следующий пример.
<html>
<head>
<title>User-defined objects</title>
<script type = "text/javascript">
// Define a function which will work as a method
function addPrice(amount) {
with(this) {
price = amount;
}
}
function book(title, author) {
this.title = title;
this.author = author;
this.price = 0;
this.addPrice = addPrice; // Assign that method as property.
}
</script>
</head>
<body>
<script type = "text/javascript">
var myBook = new book("Perl", "Mohtashim");
myBook.addPrice(100);
document.write("Book title is : " + myBook.title + "<br>");
document.write("Book author is : " + myBook.author + "<br>");
document.write("Book price is : " + myBook.price + "<br>");
</script>
</body>
</html>
Вывод
Book title is : Perl
Book author is : Mohtashim
Book price is : 100
Собственные объекты JavaScript
JavaScript имеет несколько встроенных или собственных объектов. Эти объекты доступны в любом месте вашей программы и будут работать одинаково в любом браузере, работающем в любой операционной системе.
Вот список всех важных нативных объектов JavaScript -
Объект номера JavaScript
Логический объект JavaScript
Объект строки JavaScript
Объект массива JavaScript
Объект даты JavaScript
Математический объект JavaScript
Объект JavaScript RegExp