JavaScript-прототип даты
Пример
Создайте новый метод даты, который дает объекту даты свойство имени месяца с именем myName:
Date.prototype.myMonth = function()
{
if (this.getMonth()==0) {return "January"};
if (this.getMonth()==1) {return "February"};
if (this.getMonth()==2) {return "March"};
if (this.getMonth()==3) {return "April"};
if (this.getMonth()==4) {return "May"};
if (this.getMonth()==5) {return "June"};
if (this.getMonth()==6) {return "July"};
if (this.getMonth()==7) {return "August"};
if (this.getMonth()==8) {return "September"};
if (this.getMonth()==9) {return "October"};
if (this.getMonth()==10) {return "November"};
if (this.getMonth()==11) {return "December"};
}
Создайте объект Date, затем вызовите метод myMonth:
const d = new Date();
let month = d.myMonth();
Определение и использование
prototype
позволяет добавлять к датам новые свойства и методы.
prototype
это свойство, доступное для всех объектов JavaScript.
Поддержка браузера
prototype
является функцией ECMAScript1 (ES1).
ES1 (JavaScript 1997) полностью поддерживается во всех браузерах:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |
Синтаксис
Date.prototype.name = value
Предупреждение
Вам не рекомендуется изменять прототип объекта, которым вы не управляете.
Вы не должны изменять прототип встроенных типов данных JavaScript, таких как:
- Числа
- Струны
- Массивы
- Даты
- Булевы значения
- Функция
- Объекты
Меняйте только прототип собственных объектов.
Свойство прототипа
Свойство JavaScript prototype
позволяет добавлять к объектам новые свойства:
Пример
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.eyeColor = eyecolor;
}
Person.prototype.nationality = "English";