Пожалуйста, внимательно прочитайте комментарии для подробностей. Давайте поговорим здесь меньше и просто загрузите код.
Кода -копия выглядит следующим образом:
<! Doctype html>
<html>
<голова>
<meta charset = "utf-8">
<title> тестовый документ </title>
<script type = "text/javascript">
// По сути, свойства и методы одинаковы, а методы-это функции, свойства которых являются эталонным типом.
// объект имеет 4 свойства:
// 1 атрибуты, определенные конструктором через это ключевое слово
// 2, атрибуты, определенные конструктором через ключевое слово var
// 3, свойства, добавленные в объект прототипа конструктора
// 4, атрибуты динамически добавляются объектом
// Общественные свойства экземпляра: 1, 2, 3, 4 можно получить через атрибуты, определенные этим ключевым словом
// частные атрибуты экземпляра: 2 атрибуты, определенные ключевым словом VAR. Доступный 2
// Поделитесь свойствами экземпляра: 3 атрибуты, добавленные через прототип, на который указан экземпляр. Доступно 1,3,4
// Статические свойства экземпляра: 4 Свойства добавлены динамически объектом. Доступно 1,3,4
// суммируйте:
// атрибуты экземпляра: 1, публичная
// 2, рядовой
// 4, статический
// атрибуты прототипа: 3, поделиться
// это определяется как привилегированный атрибут. Все доступно
// var определяется как частная собственность.
// Атрибуты, добавленные динамически, являются общедоступными атрибутами. Частные свойства недоступны
// Атрибут прототипа, на который указывает объект экземпляра, является атрибутом прототипа. Частные атрибуты недоступны, с более низким приоритетом, чем публичные атрибуты
// Атрибуты экземпляра в основном состоят из публичных атрибутов и атрибутов привилегий. Оба могут быть доступны с помощью внешних и прототипных свойств. Основное отличие заключается в том, доступны ли частные атрибуты
// Приоритет атрибута прототипа ниже, чем у атрибута экземпляра. Можно получить доступ снаружи и атрибуты экземпляра (кроме личных атрибутов)
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Общественные свойства: атрибуты, подверженные воздействию внешней среды. Это также атрибут объекта.
// частные атрибуты: атрибуты внутри объектов часто недоступны. Это имеет смысл только учитывать их на уровне конструктора.
// Статические свойства: динамически добавленные свойства. Это также атрибут объекта.
// Общие свойства: атрибуты, разделяемые всеми экземплярами, сгенерированными конструкторами.
функция user () {
// Общественные свойства: атрибуты, которые имеет каждый новый объект экземпляра пользователя.
// - атрибут экземпляра, и все атрибуты экземпляра не делятся памятью.
// доступен внешне.
this.name = 'byronvis';
// Привилегированный метод: метод, который использовался для каждого нового объекта экземпляра пользователя.
// - это метод экземпляра, все методы экземпляра не делятся памятью.
// доступен внешне.
// Общественные свойства доступны.
// частные свойства доступны.
this.sayname = function () {
оповещение (this.name);
предупреждение (this.school);
Alert (возраст); // Объявление переменной будет автоматически продвинуто.
предупреждение (this.sex);
};
// частные атрибуты: не доступны извне.
// Это имеет смысл только для конструкторов, а не для новых объектов экземпляра пользователя.
var возраст = 22;
// Частный метод: не доступен извне.
// Это имеет смысл только для конструкторов, а не для новых объектов экземпляра пользователя.
Функция говорит () {
блюд (возраст);
}
sayage ();
}
// Общие атрибуты: общая память.
User.prototype.school = 'zky';
// Общие методы: доступ к публичным атрибутам.
// общая память.
User.prototype.sayschool = function () {
предупреждение (this.school);
оповещение (this.name);
предупреждение (this.sex);
блюд (возраст);
};
var obj = new user ();
// Статические свойства: это свойства экземпляра, добавленные динамически.
obj.sex = 'man';
// Статический метод: динамически добавлен метод экземпляра.
obj.saysex = function () {
предупреждение (this.sex);
оповещение (this.name);
предупреждение (this.school);
блюд (возраст);
};
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//// Докажите, что атрибуты, определенные этим ключевым словом, по сути такие же, как и добавленные динамически, и могут рассматриваться как публичные атрибуты объектов экземпляра.
// Проверка: это ключевое слово определяет свойства для доступа к динамически добавленным свойствам
// obj.sayname (); // true
// Проверка: динамически добавленные атрибуты доступ к атрибутам, определенным этим ключевым словом
// obj.saysex (); // true
// Проверка: Общественные объекты доступа к частным объектам
// obj.sayname (); // true
obj.saysex (); // false
// Проверка: общие атрибуты доступают за частные атрибуты
// obj.sayschool (); // false
</script>
</head>
<тело>
Тестовые документы
</body>
</html>
Вы поняли пример атрибутов и атрибутов прототипа? Эта статья очень подробно и рекомендуется всем. Я надеюсь, что это будет полезно для моих друзей.