From c058fa0fb22dc40ef0225b21a97578cddd0aaffa Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:51:05 +0100 Subject: unslug ru: move --- .../global_objects/object/prototype/index.html | 205 --------------------- 1 file changed, 205 deletions(-) delete mode 100644 files/ru/web/javascript/reference/global_objects/object/prototype/index.html (limited to 'files/ru/web/javascript/reference/global_objects/object') diff --git a/files/ru/web/javascript/reference/global_objects/object/prototype/index.html b/files/ru/web/javascript/reference/global_objects/object/prototype/index.html deleted file mode 100644 index aaa398171d..0000000000 --- a/files/ru/web/javascript/reference/global_objects/object/prototype/index.html +++ /dev/null @@ -1,205 +0,0 @@ ---- -title: Object.prototype -slug: Web/JavaScript/Reference/Global_Objects/Object/prototype -tags: - - JavaScript - - Object - - Property - - Reference -translation_of: Web/JavaScript/Reference/Global_Objects/Object -translation_of_original: Web/JavaScript/Reference/Global_Objects/Object/prototype ---- -
{{JSRef("Global_Objects", "Object")}}
- -

Сводка

- -

Свойство Object.prototype представляет объект прототипа {{jsxref("Global_Objects/Object", "Object")}}.

- -
{{js_property_attributes(0, 0, 0)}}
- -

Описание

- -

Все объекты в JavaScript являются потомками {{jsxref("Global_Objects/Object", "Object")}}; все объекты наследуют методы и свойства из прототипа объекта Object.prototype, хотя они и могут быть переопределены (за исключением объекта Object с прототипом null, то есть, созданным вызовом Object.create(null)). Например, прототипы других конструкторов переопределяют свойство constructor и предоставляют свои собственные методы {{jsxref("Object.prototype.toString()", "toString()")}}. Изменения в объекте прототипа {{jsxref("Global_Objects/Object", "Object")}} распространяются на все объекты до тех пор, пока свойства и методы, учитывающие эти изменения, не переопределяются дальше по цепочке прототипов.

- -

Свойства

- -
-
{{jsxref("Object.prototype.constructor")}}
-
Определяет функцию, создающую прототип объекта.
-
{{jsxref("Object.proto", "Object.prototype.__proto__")}} {{non-standard_inline}}
-
Указывает на объект, который использовался в качестве прототипа при инстанцировании объекта.
-
{{jsxref("Object.noSuchMethod", "Object.prototype.__noSuchMethod__")}} {{non-standard_inline}}
-
Позволяет определить функцию, выполняющуюся при вызове в качестве метода неопределённого члена объекта.
-
{{jsxref("Object.count", "Object.prototype.__count__")}} {{obsolete_inline}}
-
Использовалось для возврата количества перечисляемых свойств, определённых напрямую на пользовательском объекте, но было удалено.
-
{{jsxref("Object.parent", "Object.prototype.__parent__")}} {{obsolete_inline}}
-
Использовалось для указания контекста объекта, но было удалено.
-
- -

Методы

- -
-
{{jsxref("Object.defineGetter", "Object.prototype.__defineGetter__()")}} {{non-standard_inline}} {{deprecated_inline}}
-
Ассоциирует функцию со свойством, которое, при доступе к нему, выполняет эту функцию и возвращает её возвращаемое значение.
-
{{jsxref("Object.defineSetter", "Object.prototype.__defineSetter__()")}} {{non-standard_inline}} {{deprecated_inline}}
-
Ассоциирует функцию со свойством, которое, при его установке, выполняет эту функцию, изменяющую свойство.
-
{{jsxref("Object.lookupGetter", "Object.prototype.__lookupGetter__()")}} {{non-standard_inline}} {{deprecated_inline}}
-
Возвращает функцию, ассоциированную с указанным свойством методом {{jsxref("Object.defineGetter", "__defineGetter__")}}.
-
{{jsxref("Object.lookupSetter", "Object.prototype.__lookupSetter__()")}} {{non-standard_inline}} {{deprecated_inline}}
-
Возвращает функцию, ассоциированную с указанным свойством методом {{jsxref("Object.defineSetter", "__defineSetter__")}}.
-
{{jsxref("Object.prototype.hasOwnProperty()")}}
-
Возвращает логическое значение, указывающее, содержит ли указанное свойство непосредственно объект, или он унаследовал его по цепочке прототипов.
-
{{jsxref("Object.prototype.isPrototypeOf()")}}
-
Возвращает логическое значение, указывающее, состоит ли указанный объект в цепочке прототипов объекта, на котором был вызван данный метод.
-
{{jsxref("Object.prototype.propertyIsEnumerable()")}}
-
Возвращает логическое значение, указывающее, установлен ли внутренний атрибут ECMAScript DontEnum.
-
{{jsxref("Object.prototype.toSource()")}} {{non-standard_inline}}
-
Возвращает строку, содержащую исходный код объекта в литеральной форме, представляющего объект, на котором был вызван данный метод; вы можете использовать это значение для создания нового объекта.
-
{{jsxref("Object.prototype.toLocaleString()")}}
-
Вызывает {{jsxref("Object.toString", "toString()")}}.
-
{{jsxref("Object.prototype.toString()")}}
-
Возвращает строковое представление объекта.
-
{{jsxref("Object.prototype.unwatch()")}} {{non-standard_inline}}
-
Удаляет точку наблюдения (watchpoint) со свойства объекта.
-
{{jsxref("Object.prototype.valueOf()")}}
-
Возвращает значение примитива указанного объекта.
-
{{jsxref("Object.prototype.watch()")}} {{non-standard_inline}}
-
Добавляет точку наблюдения (watchpoint) к свойству объекта.
-
{{jsxref("Object.prototype.eval()")}} {{obsolete_inline}}
-
Использовался для вычисления строки с JavaScript-кодом в контексте указанного объекта, но был удалён.
-
- -

Примеры

- -

Поскольку Javascript, строго говоря, не имеет объекты подклассов, прототип является полезным обходным путём создания объекта «базового класса» из определённых функций, которые выступают в роли объектов. Например:

- -
var Person = function(name) {
-    this.name = name;
-    this.canTalk = true;
-    this.greet = function() {
-        if (this.canTalk) {
-            console.log('Привет, я ' + this.name);
-        }
-    };
-};
-
-var Employee = function(name, title) {
-    this.name = name;
-    this.title = title;
-    this.greet = function() {
-        if (this.canTalk) {
-            console.log('Привет, я ' + this.name + ', ' + this.title);
-        }
-    };
-};
-Employee.prototype = new Person();
-
-var Customer = function(name) {
-    this.name = name;
-};
-Customer.prototype = new Person();
-
-var Mime = function(name) {
-    this.name = name;
-    this.canTalk = false;
-};
-Mime.prototype = new Person();
-
-var bob = new Employee('Боб', 'Строитель');
-var joe = new Customer('Джо');
-var rg = new Employee('Ред Грин', 'Разнорабочий');
-var mike = new Customer('Майк');
-var mime = new Mime('Мим');
-bob.greet();
-joe.greet();
-rg.greet();
-mike.greet();
-mime.greet();
-
- -

Вывод будет следующим:

- -
Привет, я Боб, Строитель
-Привет, я Джо
-Привет, я Ред Грин, Разнорабочий
-Привет, я Майк
-
- -

Спецификации

- - - - - - - - - - - - - - - - - - - - - - - - -
СпецификацияСтатусКомментарии
ECMAScript 1-е издание.СтандартИзначальное определение. Реализована в JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.2.3.1', 'Object.prototype')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-object.prototype', 'Object.prototype')}}{{Spec2('ES6')}}
- -

Совместимость с браузерами

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
-- cgit v1.2.3-54-g00ecf