Читайте также:
|
|
Объект Object в JavaScript используется крайне редко, я бы даже сказал крайне-крайне редко. Однако, этот объект имеет первостепенную важность. Почему? Очень просто: этот объект является головным для всех объектов в JavaScript. Или, другими словами, все объекты наследуются от объекта Object. Следовательно, все свойства и методы этого объекта работают и для всех других объектов в JavaScript. Поэтому рассмотрев свойства и методы объекта Object, мы моментально разберёмся с кучей свойств и методов всех других классов.
Начнём мы со свойства prototype. Это свойство позволяет добавлять новые свойства в объекты, как бы это странно не звучало. Предлагаю сразу перейти к примеру:
var string = new String ("My String");
String.prototype.newProp = 5;
document.write(string.newProp);
В данном примере мы создали экземпляр объекта String, затем добавили новое свойство, используя свойство prototype класса Object, со значением 5. А затем у созданного нами объекта мы выводим значение этого свойства.
Свойство prototype также позволяет добавлять новые методы. Вот пример:
String.prototype.newFunc = func;
function func () {
alert("Новый метод");
}
string.newFunc();
В результате сработает метод, применённый к объекту String.
Переходим теперь к методам объекта Object (а, соответственно, и к методам всех других объектов), и начнём с методов watch() и unwatch(). Первый метод позволяет начать слежку за изменением какого-либо свойства, а второй, наоборот, снимает слежку. Сразу пример:
var strng = new String();
String.prototype.newProp = 5;
string.watch("newProp", func);
string.newProp = 0;
string.unwatch("newProp");
string.newProp = 5;
function func() {
alert("Значение свойства было изменено!");
}
Вначале мы создаём объект String, чтобы проверить работу методов. Затем добавляем в класс String новое свойство (которое, разумеется, будет и у экземпляра объекта String - переменной string). Затем начинаем слежку за этим новым свойством. И при его изменении требуем вызов функции func(). Затем изменяем значение свойства, чтобы вызвалась функция func(). После этого снимаем слежку, снова изменяем свойство newProp. Результат: после первого изменения вызвалась функция func(), а после второго изменения ничего не произошло (потому что перед этим мы сняли слежение). Как видите, всё очень и очень просто.
Переходим к последнему методу, но, пожалуй, самому важному, и который использует чаще других вместе взятых. Этот метод называется toString(), и занимается он преобразованием объекта в строку. Когда мы писали что-то наподобие этого:
var date = new Date();
document.write(date);
У нас срабатывал метод toString(), который описан для объекта Date. Ведь очевидно, что каждый объект будет выглядеть по-разному: массив одним образом, дата и время другим, а строка третьим. Поэтому реализация метода toString() от объекта к объекту всегда меняется.
Давайте сейчас сделаем простейший пример с использованием метода toString(), чтобы Вы поняли, как он вообще работает. А в следующих статьях я Вам покажу, как его надо использовать при создании собственных объектов.
var date = new Date();
Date.prototype.toString = func;
document.write(date);
function func() {
return "<b>abc</b>";
}
Здесь мы переопределяем реализацию метода toString(), а затем выводим объект. Разумеется, вызывается уже наша функция, которая, как и полагается, возвращает строку (строковое представление объекта, другими словами). В результате, в окне браузера Вы увидите: abc.
Вот и все самые основные свойства и методы объекта Object, который является элементарным типом данных в JavaScript и от которого появились все остальные объекты этого языка.
Дата добавления: 2015-10-31; просмотров: 122 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Проверка формы в JavaScript | | | События в JavaScript |