Содержание:
JavaScript - это язык объектно-ориентированного программирования (ООП). Язык программирования можно назвать объектно-ориентированным, если он предоставляет четыре основные возможности разработчикам -
- Инкапсуляция - возможность хранения связанной информации, будь то данные или методы, вместе в объекте.
- Агрегация - возможность хранения одного объекта внутри другого объекта.
- Наследование - способность класса полагаться на другой класс (или количество классов) для некоторых его свойств и методов.
- Полиморфизм - возможность писать одну функцию или метод, который работает по-разному.
Объекты состоят из атрибутов. Если атрибут содержит функцию, он считается методом объекта, иначе атрибут считается свойством.
Свойства объекта
Свойства объекта могут быть любыми из трех примитивных типов данных или любого из абстрактных типов данных, таких как другой объект. Свойства объекта обычно являются переменными, которые используются внутри методов объекта, но также могут быть глобально видимыми переменными, которые используются на всей странице.
Синтаксис добавления свойства к объекту -objectName.objectProperty = propertyValue;Например - Следующий код получает заголовок документа, используя свойство title для объекта документа.
var str = document.title;Методы объекта
Методы - это функции, которые позволяют объекту что-то делать или позволяют что-то сделать с ним. Существует небольшая разница между функцией и методом - функция является автономной единицей операторов, а метод привязан к объекту и может ссылаться на ключевое слово this.
Методы полезны для всего: от отображения содержимого объекта до экрана для выполнения сложных математических операций над группой локальных свойств и параметров.
Например: Ниже приведен простой пример, показывающий, как использовать метод write() объекта документа для записи любого содержимого в документе.
document.write("This is test");Пользовательские объекты
Все пользовательские объекты и встроенные объекты являются потомками объекта Object.
Оператор New
Оператор 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.
Попробуйте следующий пример; он демонстрирует, как создать объект.
<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 : PerlBook author is : MohtashimПример 2
В этом примере показано, как создать объект с пользовательской функцией. Здесь это ключевое слово используется для обращения к объекту, который был передан функции.
<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 : PerlBook 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 : PerlBook author is : MohtashimBook price is : 100Ключ «with»
«with» ключевое слово используется как своего рода стенография для ссылок свойств или методов объекта. Объект, указанный как аргумент with, становится объектом по умолчанию для продолжительности следующего блока. Свойства и методы для объекта могут быть использованы без именования объекта.
СинтаксисСинтаксис для объекта следующий:
with (object){
properties used without the object name and dot
}
пример
Попробуйте следующий пример.
Book title is : PerlBook author is : MohtashimBook price is : 100Исходные объекты JavaScript
JavaScript имеет несколько встроенных или собственных объектов. Эти объекты доступны в любом месте вашей программы и будут работать одинаково в любом браузере, работающем в любой операционной системе.
Вот список всех важных JavaScript-объектов -
- JavaScript Number Object
- JavaScript Boolean Object
- JavaScript String Object
- JavaScript Array Object
- JavaScript Date Object
- JavaScript Math Object
- JavaScript RegExp Object